Added
-
futhark literate
now supports a$loadimg
builtin function for
passing images to Futhark programs. -
The
futhark literate
directive for generating videos is now
:video
. -
Support for 64-bit atomics on CUDA and OpenCL for higher
performance withreduce_by_index
in particular.
Double-precision float atomics are used on CUDA. -
New functions:
f32.recip
andf64.recip
for multiplicative inverses. -
Executables produced with the
c
andmulticore
backends now
also accept--tuning
and--size
options (although there are
not yet any tunable sizes). -
New functions:
scatter_2d
andscatter_3d
for scattering to
multi-dimensional arrays (#1258).
Removed
- The math modules no longer define the name
negate
(useneg
instead).
Fixed
-
Exotic core language alias tracking bug (#1239).
-
Issue with entry points returning constant arrays (#1240).
-
Overzealous CSE collided with uniqueness types (#1241).
-
Defunctionalisation issue (#1242).
-
Tiling inside multiply nested loops (#1243).
-
Substitution bug in interpreter (#1250).
-
f32.sgn
/f64.sgn
now correct for NaN arguments. -
CPU backends (
c
/multicore
) are now more careful about staying
in single precision forf32
functions (#1253). -
futhark test
andfuthark bench
now detect program
initialisation errors in a saner way (#1246). -
Partial application of operators with parameters used in a
size-dependent way now works (#1256). -
An issue regarding abstract size-lifted sum types (#1260).