futhark-0.21.12: docs/man/futhark-multicore.rst
.. role:: ref(emphasis)
.. _futhark-multicore(1):
=================
futhark-multicore
=================
SYNOPSIS
========
futhark multicore [options...] <program.fut>
DESCRIPTION
===========
``futhark multicore`` translates a Futhark program to multithreaded C
code, and either compiles that C code with a C compiler to an
executable binary program, or produces a ``.h`` and ``.c`` file that
can be linked with other code. The standard Futhark optimisation
pipeline is used.
The resulting program will read the arguments to the entry point
(``main`` by default) from standard input and print its return value
on standard output. The arguments are read and printed in Futhark
syntax.
OPTIONS
=======
Accepts the same options as :ref:`futhark-c(1)`.
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.
EXECUTABLE OPTIONS
==================
Generated executables accept the same options as those generated by
:ref:`futhark-c(1)`. The following additional options are accepted.
-P, --profile
Collect and report various bits of profiling information.
--num-threads=INT
Use this many physical threads.
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
========
:ref:`futhark-c(1)`, :ref:`futhark-test(1)`