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

# futhark-pyopencl(1)

compile Futhark to Python and OpenCL

## NAME

futhark-pyopencl - compile Futhark to Python and OpenCL

## SYNOPSIS

futhark pyopencl \[options...\] infile

## DESCRIPTION

**futhark pyopencl** translates a Futhark program to Python code invoking OpenCL kernels, which depends on Numpy and PyOpenCL.  By default, the program uses the first device of the first OpenCL platform - this can be changed by passing **-p** and **-d** options to the generated program (not to **futhark pyopencl** itself).

The resulting program will otherwise behave exactly as one compiled with **futhark py**.  While the sequential host-level code is pure Python and just as slow as in **futhark py**, parallel sections will have been compiled to OpenCL, and runs just as fast as when using **futhark opencl**.  The kernel launch overhead is significantly higher, however, so a good rule of thumb when using **futhark pyopencl** is to aim for having fewer but longer-lasting parallel sections.

The generated code requires at least PyOpenCL version 2015.2.

## OPTIONS

Accepts the same options as *futhark-opencl*.

## SEE ALSO

*futhark-python*, *futhark-opencl*

## COPYRIGHT

2013-2020, DIKU, University of Copenhagen
