💥💻💥 A data-parallel functional programming language
Haskell Python C Yacc Logos Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assets Add logo to README. Jan 9, 2018
docs futhark-pkg: only print diagnostics when -v/--verbose is passed. Aug 8, 2018
examples Actually remove the 'rearrange' construct. Jun 4, 2018
futhark-benchmarks @ fcd279e futhark-benchmarks: bump Aug 15, 2018
futlib Clarify rounding. Aug 8, 2018
memory-block-merging/tests Make memory block merging work with the current compiler Feb 18, 2018
pkgtests More testing. Aug 1, 2018
rts Document local module types that are used in non-local modules. Jul 31, 2018
src Fix typo. Aug 17, 2018
tests Move this unsafe a bit. Aug 15, 2018
tools New filtering tool. Aug 5, 2018
unittests No need for this import. Aug 4, 2018
.gitignore Fix the .gitignores. Jan 5, 2018
.gitmodules Submodule configuration fix, I think. Mar 25, 2018
.travis-setup.sh Switch to proper Stackage snapshot. May 10, 2018
.travis.yml Guess we need more time here. Aug 15, 2018
.travis_rsa.enc Also copy to webserver. Aug 8, 2018
CHANGELOG.md Improve type checking further. Aug 7, 2018
LICENSE More HIPERFIT->DIKU renames. Apr 15, 2018
README.md Add Windows build status. Jul 13, 2018
STYLE.md One of these functions is no more. Dec 16, 2017
Setup.hs Remove Build_futhark module. Apr 19, 2015
appveyor.yml Fewer jobs means more stability. Jul 11, 2018
package.yaml futhark-pkg: support commit versions. Aug 1, 2018
stack-lts-10.0.yaml Add missing stack-lts-10.0.yaml. Apr 13, 2018
stack-lts-9.2.yaml Add draft version of futhark-pkg. Jul 25, 2018
stack.yaml Upgrade to newer GHC. Jun 16, 2018


The Futhark Programming Language

Join the chat at https://gitter.im/futhark-lang/LobbyBuild StatusWindows build statusProject Stats

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 is developed at DIKU at the University of Copenhagen, originally as part of the HIPERFIT centre. Although still under heavy development, Futhark is already useful for practical high-performance programming.

For more information, see the website.

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

Installation instructions here.


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:

futharki 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 the 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.