futhark-ispc¶
SYNOPSIS¶
futhark ispc [options…] <program.fut>
DESCRIPTION¶
futhark ispc translates a Futhark program to a combination of C
and ISPC code, with ISPC used for parallel loops. It otherwise
operates similarly to futhark-multicore. You need to have
ispc on your PATH.
OPTIONS¶
Accepts the same options as futhark-multicore.
ENVIRONMENT VARIABLES¶
CC
The C compiler used to compile the program. Defaults to
ccif unset.
CFLAGS
Space-separated list of options passed to the C compiler. Defaults to
-O3 -std=c99 -pthreadif unset.
ISPCFLAGS
Space-separated list of options passed to
ispc. Defaults to-O3 --woffif unset.
EXECUTABLE OPTIONS¶
Generated executables accept the same options as those generated by futhark-multicore.
LIBRARY USAGE¶
When compiling a program foo.fut with futhark ispc --library,
a foo.kernels.ispc file is produced that must be compiled with
ispc and linked with the final program. For example:
$ ispc -o foo.kernels.o foo.kernels.ispc --addressing=64 --pic --woff -O3
BUGS¶
Currently works only on Unix-like systems because of a dependency on pthreads. Adding support for Windows would likely not be difficult.