---
name: "futhark-ispc"
section: "1"
platform: "linux"
package: "futhark"
version: "0.25.27-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/futhark-ispc"
---

# futhark-ispc(1)

compile Futhark to multithreaded ISPC

## 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
