Empirical evaluation code and demos for our FHPC'16 paper
Benchmarks are in
benchmarks, demos in
To run these programs you must have:
the Futhark compiler
futhark-openclmust be in your
the Tail-to-Futhark compiler
tail2futharkmust be in you
$PATHFor example, after cloning the repository you can install it by $ stack setup $ stack install
a working OpenCL setup.
gawk (a version that supports the
You will need a *nix-like system. OpenCL execution will by
default use the first detected platform and device. You can edit the
Makefile to select a different platform and device.
The benchmark system is built using
make (sorry). Ideally, you just
make and it will build and run all benchmarks. The result will
be a speedup graph in a file called
plot.pdf, and a runtime table in
table.tex. There will also be a directory called
that contains files with runtime measurements (in miliseconds).
Of course, many things can go wrong. You may need to modify the
Makefile to fix include paths and the like to fit your system.
If you are on a 64-bit system, then you are adviced to compile
apltail with MLton, not MLKit.
You must set the
TAIL_ROOT environment variable to point at a local
clone of the apltail repository.
This is so
aplt can find the TAIL prelude.