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

Latest commit

Files

Permalink
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
CHANGELOG.md Fix #995. May 29, 2020
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Sep 18, 2018
CONTRIBUTING.md Add CONTRIBUTING.md. Sep 18, 2018
LICENSE More HIPERFIT->DIKU renames. Apr 15, 2018
README.md I guess the link is superfluous. May 18, 2020
STYLE.md 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
run-tests.sh 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

README.md

The Futhark Programming Language

Join the chat at https://gitter.im/futhark-lang/LobbyCIBuild 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

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:

futhark run prog.fut < prog.input

Hacking

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.

Testing

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.