Skip to content
💥💻💥 A data-parallel functional programming language
Haskell C Python Yacc Logos Shell Other
Branch: master
Clone or download

Latest commit


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows Also here. May 22, 2020
assets Fix obvious image crop. (#976) May 16, 2020
docs "unsafe" is no longer a keyword. May 30, 2020
examples Remove some unsafes. May 12, 2020
futhark-benchmarks @ 2babb70 futhark-benchmarks: bump May 28, 2020
libtests Fix cleanup in context deinitialisation. May 14, 2020
pkgtests Fix fetching packages from GitLab. Apr 5, 2020
prelude Fix minor spelling errors in documentation Apr 16, 2020
rts Remove C# backends. (#993) May 28, 2020
src Fix #995. May 29, 2020
tests Fix #995. May 29, 2020
tools "unsafe" is no longer a keyword. May 30, 2020
unittests Remove Range lore and range information from simplifier. (#994) May 28, 2020
.gitignore More for the gitignore. May 26, 2020
.gitmodules Submodule configuration fix, I think. Mar 25, 2018 Fix #995. May 29, 2020 Create Sep 18, 2018 Add Sep 18, 2018
LICENSE More HIPERFIT->DIKU renames. Apr 15, 2018 I guess the link is superfluous. May 18, 2020 One of these functions is no more. Dec 16, 2017
Setup.hs Remove Build_futhark module. Apr 19, 2015
azure-pipelines.yml Caching is broken. May 28, 2020
cabal.project This does not work on macOS. May 3, 2020
default.nix Restore LICENSE and commit-id files in tarballs. Apr 21, 2020
futhark.cabal Remove Range lore and range information from simplifier. (#994) May 28, 2020 Also run pkgtests on GitHub. May 27, 2020
shell.nix Also run pkgtests on GitHub. May 27, 2020
stack.yaml Parallel builds. May 25, 2020
weeder.dhall Some more weeding. Mar 27, 2020

The Futhark Programming Language

Join the chat at Status

Futhark is a purely functional data-parallel programming language. Its optimising compiler is able to compile it to typically very performant GPU code. The language and compiler are developed at DIKU at the University of Copenhagen, originally as part of the HIPERFIT centre. The language and compiler are quite stable and suitable for practical programming.

For more information see the website.

There also exists a book, Parallel Programming in Futhark, that serves as an extensive introduction and guide.

Also see the compiler and language documentation and the basis library documentation.

Installation instructions here.

Packaging status


To compile a Futhark program to sequential C:

futhark c prog.fut -o prog

Or maybe OpenCL:

futhark opencl prog.fut -o prog

And then run it:

./prog < prog.input

To interpret a Futhark program:

futhark run prog.fut < prog.input


We try to make use of GitHub issues for organising our work. Issues tagged with good first issue do not require deep knowledge of the code base.


Run futhark test tests to check how well we're doing. Use futhark test -t if you're in a hurry and only want to check that all the tests type-check.

You can’t perform that action at this time.