Scroll to navigation

FUTHARK-ISPC(1) Futhark FUTHARK-ISPC(1)

NAME

futhark-ispc - compile Futhark to multithreaded 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.

SEE ALSO

futhark-multicore, futhark-test

COPYRIGHT

2013-2020, DIKU, University of Copenhagen

March 1, 2025 0.25.27