carta
futhark-ispc(1)

futhark-ispc1

Compile futhark to multithreaded ispc

Usage

futhark ispc [options ...] <program.fut>

Overview

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

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.

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.

From futhark 0.25.27-1+b1 in Debian 13 (Trixie). Parsed by carta from the page's man source.