Skip to content

senaygui/futhark

 
 

Repository files navigation

Futhark

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 as part of the HIPERFIT project at DIKU. The project is still research-quality, and the focus has mostly been on ensuring high runtime-performance, so the source language still lacks many niceties for manual programming - it is fairly usable as a target for high-level code generation, however.

For more information, see the website.

The incomplete documentation is here.

Statistics

Issue Stats Issue Stats Build Status

Installation

Please see our installation instructions.

Usage

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

Hacking

We try to make use of Github issues for organising our work. Issues tagged with newbie-friendly do not require deep knowledge of the code base.

Testing

Run the data/runtests.sh script to check how well we're doing. Use data/runtests.sh -t if you're in a hurry and only want the test suite to do type checking.

About

💥💻💥 A data-parallel functional programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 96.0%
  • Yacc 1.6%
  • C 1.1%
  • Other 1.3%