FUTHARK-CSOPENCL(1)

name:" "Futhark"

NAME
futhark-csopencl - compile Futhark to C# and OpenCL

SYNOPSIS

futhark csopencl [options...] infile

DESCRIPTION

futhark csopencl translates a Futhark program to C# code invoking OpenCL kernels, and either compiles that C# code with the Roslyn C# Compiler csc to an executable binary program, or produces a .dll file that can be linked with other code.. The standard Futhark optimisation pipeline is used, and csc is invoked with -lib:$MONO_PATH, -r:Cloo.clSharp.dll, -r:Mono.Options.dll, and /unsafe.

The resulting program will otherwise behave exactly as one compiled with futhark csharp.

OPTIONS

-h  Print help text to standard output and exit.

--library
    Generate a library instead of an executable. Appends .dll to the name indicated by the -o option to determine output file names.

-o outfile
    Where to write the result. If the source program is named foo.fut, this defaults to foo.

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

REQUIREMENTS

futhark csopencl uses the Mono implementation of the .NET framework. To compile and execute the compiled binaries/libraries, you must have the MONO_PATH environment variable defined. MONO_PATH must be set to a directory containing the Mono.Options and Cloo.clSharp dll's.

Mono.Options is available on https://www.nuget.org/packages/Mono.Options/5.3.0.1

Cloo.clSharp is available on https://www.nuget.org/packages/Cloo.clSharp/

SEE ALSO

futhark-test(1), futhark-csharp(1)

AUTHOR
Troels Henriksen (athas@sigkill.dk)

COPYRIGHT
2013-1970, DIKU, University of Copenhagen