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 sizen
. -
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 alllocal
module types (#1666). -
Missing consumption check in optimisation could lead to ICE (#1669).