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
cc
if unset.
CFLAGS
Space-separated list of options passed to the C compiler. Defaults to
-O3 -std=c99 -pthread
if unset.
ISPCFLAGS
Space-separated list of options passed to
ispc
. Defaults to-O3 --woff
if 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.