.. role:: ref(emphasis) .. _futhark(1): ======= futhark ======= SYNOPSIS ======== futhark options... DESCRIPTION =========== Futhark is a data-parallel functional array language. Through various subcommands, the ``futhark`` tool provides facilities for compiling, developing, or analysing Futhark programs. Most subcommands are documented in their own manpage. For example, ``futhark opencl`` is documented as :ref:`futhark-opencl(1)`. The remaining subcommands are documented below. COMMANDS ======== futhark benchcmp FILE_A FILE_B ------------------------------ Compare two JSON files produced by the ``--json`` option of :ref:`futhark-bench(1)`. The results show speedup of the latter file compared to the former. futhark check [-w] [-Werror] PROGRAM ------------------------------------ Check whether a Futhark program type checks. With ``-w``, no warnings are printed. With ``--Werror``, warnings are treated as errors. futhark check-syntax PROGRAM ---------------------------- Check whether a Futhark program is syntactically correct. futhark datacmp FILE_A FILE_B ----------------------------- Check whether the two files contain the same Futhark values. The files must be formatted using the general Futhark data format that is used by all other executable and tools (such as :ref:`futhark-dataset(1)`). All discrepancies will be reported. This is in contrast to :ref:`futhark-test(1)`, which only reports the first one. futhark dataget PROGRAM DATASET ------------------------------- Find the test dataset whose description contains ``DATASET`` (e.g. ``#1``) and print it in binary representation to standard output. This does not work for ``script`` datasets. futhark defs PROGRAM -------------------- Print names and locations of every top-level definition in the program (including top levels of modules), one per line. The program need not be type-correct, but it must not contain syntax errors. futhark dev options... PROGRAM ------------------------------ A Futhark compiler development command, intentionally undocumented and intended for use in developing the Futhark compiler, not for programmers writing in Futhark. futhark eval [-f FILE] [-w] -------------------------------------- Evaluates expressions given as command-line arguments. Optionally allows a file import using ``-f``. futhark hash PROGRAM -------------------- Print a hexadecimal hash of the program AST, including all non-builtin imports. Supposed to be invariant to whitespace changes. futhark imports PROGRAM ----------------------- Print all non-builtin imported Futhark files to stdout, one per line. futhark lsp ----------- Run an LSP (Language Server Protocol) server for Futhark that communicates on standard input. There is no reason to run this by hand. It is used by LSP clients to provide editor features. futhark query PROGRAM LINE COL ------------------------------ Print information about the variable at the given position in the program. futhark thanks -------------- Expresses gratitude. futhark tokens FILE ------------------- Print the tokens the given Futhark source file; one per line. SEE ALSO ======== :ref:`futhark-opencl(1)`, :ref:`futhark-c(1)`, :ref:`futhark-py(1)`, :ref:`futhark-pyopencl(1)`, :ref:`futhark-wasm(1)`, :ref:`futhark-wasm-multicore(1)`, :ref:`futhark-ispc(1)`, :ref:`futhark-dataset(1)`, :ref:`futhark-doc(1)`, :ref:`futhark-test(1)`, :ref:`futhark-bench(1)`, :ref:`futhark-run(1)`, :ref:`futhark-repl(1)`, :ref:`futhark-literate(1)`