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. The language and compiler is 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.
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.