Added
-
Segmented scans are a good bit faster.
-
reduce_by_index
has received a new implementation that uses
local memory, and is now often a good bit faster when the target
array is not too large. -
The
f32
andf64
modules now containgamma
andlgamma
functions. At present these do not work in the C# backend. -
Some instances of
reduce
with vectorised operators (e.g.map2 (+)
) are orders of magnitude faster than before. -
Memory usage is now lower on some programs (specifically the ones
that have largemap
s with internal intermediate arrays).
Removed
- Size parameters (not annotations) are no longer permitted
directly inlet
andloop
bindings, nor in lambdas. You are
likely not affected (except for thestream
constructs; see
below). Few people used this.
Changed
-
The array creation functions exported by generated C code now take
int64_t
arguments for the shape, rather thanint
. This is in
line with what the shape functions return. -
The types for
stream_map
,stream_map_per
,stream_red
, and
stream_red_per
have been changed, such that the chunk function
now takes the chunk size as the first argument.
Fixed
-
Fixes to reading values under Python 3.
-
The type of a variable can now be deduced from its use as a size
annotation. -
The code generated by the C-based backends is now also compilable
as C++. -
Fix memory corruption bug that would occur on very large segmented
reductions (large segments, and many of them).