Skip to content

0.21.11

Compare
Choose a tag to compare
@github-actions github-actions released this 06 May 19:29

Added

  • The CUDA backend now supports compute capability 8.6 and 8.7.

  • Philip Børgesen has implemented a new optimisation for GPU backends
    that migrates scalar work to the GPU, in order to reduce
    synchronisation. This results in major speedup for some programs.

  • String literals are now allowed in input blocks.

  • Experimental and undocumented support for automatic differentiation,
    available on the secret menu.

  • Assertions and attributes are now ignored when used as size
    expressions. E.g. iota (assert p n) 0 now has size n.

  • futhark test only runs the interpreter if passed -i.

  • futhark literate now shows progress bars when run with -v.

Fixed

  • futhark lsp is now better at handling multiple files (#1647).

  • Incorrect handling of local quantification when determining type
    equivalence in during module type ascription (#1648).

  • Incorrect checking of liftedness when instantiating polymorphic
    functions during module type ascription.

  • Tightened some restrictions on the use of existential sizes that
    could otherwise lead to compiler crashes (#1650). This restriction
    is perhaps a bit too might and it may be possible to loosen it in
    the future.

  • Another defunctorisation bug (#1653). Somehow we find these every
    time Martin Elsman writes a nontrivial Futhark program.

  • futhark bench: convergence phase now does at least --runs runs.

  • Errors and warnings no longer awkwardly mixed together in console output.

  • Slightly better type errors for ambiguous sizes (#1661).

  • Better type errors for module ascription involving nested modules
    (#1660).

  • futhark doc: some formatting bugs.

  • futhark doc didn't notice all local module types (#1666).

  • Missing consumption check in optimisation could lead to ICE (#1669).