FUTHARK-PYOPENCL(1)

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

-h  Print help text to standard output and exit.

--entry-point NAME
    Treat this top-level function as an entry point.

--library
    Instead of compiling to an executable program, generate a Python module that can be imported by other Python code. The module will contain a class of the same name as the Futhark source file with .fut removed. Objects of the class define one method per entry point in the Futhark program, with matching parameters and return value.

-o outfile
    Where to write the resulting binary. By default, if the source program is named 'foo.fut', the binary will be named 'foo'.

--server
    Generate a server-mode executable that reads commands from stdin.

--safe
    Ignore unsafe in program and perform safety checks unconditionally.

-v verbose
    Enable debugging output. If compilation fails due to a compiler error, the result of the last successful compiler step will be printed to standard error.

-V  Print version information on standard output and exit.

-W  Do not print any warnings.

--Werror
    Treat warnings as errors.

SEE ALSO

futhark-py(1), futhark-opencl(1)

COPYRIGHT
2013-1980, DIKU, University of Copenhagen