There is a newer version of the record available.

Published February 3, 2023 | Version v0.23.1
Software Open

Futhark

Description

Added
  • f16.log1p/f32.log1p/f64.log1p by nbos (#1820).

  • Better syntax errors for invalid use of !.

  • futhark literate now supports a $loadaudio builtin function for loading audio to Futhark programs (#1829).

  • You can now mix consumption and higher-order terms in slightly more cases (#1836).

  • futhark pkg now invokes Git directly rather than scraping GitHub/GitLab. This means package paths can now refer to any Git repository, as long as git clone works. In particular, you can use private and self-hosted repositories.

  • Significant reduction in compilation time by doing internal sanity checks in separate thread.

  • New command: futhark eval. Evaluates Futhark expressions provided as command line arguments, optionally allowing a file import (#1408).

  • script input now allows the use of $loaddata.

  • Datasets used in futhark test and futhark bench can now be named (#1859).

  • New command futhark benchcmp by William Due.

Changed
  • The C API function futhark_context_new_with_command_queue() for the OpenCL backend has been replaced with a configuration setting futhark_context_config_set_command_queue().
Fixed
  • Minor parser regression that mostly affects the REPL (#1822).

  • Parser did not recognise custom infix operators that did not have a builtin operator as prefix (#1824).

  • GPU backends: expansion of irregular nested allocations involving consumption (#1837, #1838).

  • CLI executables now handle entry points with names that are not valid C identifiers (#1841).

  • Various oversights in the type checking of uniqueness annotations for higher-order functions (#1842).

  • Invalid short-circuiting could cause compiler crashes (#1843).

  • Defunctionalisation could mess up sum types, leading to invalid code generation by internalisation, leading to a compiler crash (#1847).

  • The #[break] attribute now provides the right environment to futhark repl, allowing local variables to be inspected.

  • Simplification of concatenations (#1851).

  • Array payloads in sum types no longer need parens (#1853).

  • When a file is loaded with futhark repl, local declarations are now available.

  • Missing alias propagation when pattern matching incompletely known sum types (#1855).

  • reduce_by_index and hist were in some cases unable to handle input sizes that do not fit in a 32-bit integer.

  • A fusion bug related to fusing across transpositions could result in a compiler crash (#1858).

Notes

If you use this software, please cite it as below.

Files

diku-dk/futhark-v0.23.1.zip

Files (2.6 MB)

Name Size Download all
md5:68bb06237937c08475754049a36d3200
2.6 MB Preview Download

Additional details

Related works