Bot releases are visible (Hide)
Published by athas almost 7 years ago
Run-time errors due to failed assertions now include a stack
trace.
Generated OpenCL code now picks more sensible group size and count
when running on a CPU.
scatter
expressions nested in map
s may now be parallelised
("segmented scatter").
Add num_bits
/get_bit
/set_bit
functions to numeric module
types, including a new float
module type.
Size annotations may now refer to preceding parameters, e.g:
let f (n: i32) (xs: [n]i32) = ...
futhark-doc
: retain parameter names in generated docs.
futhark-doc
: now takes -v
/--verbose
options.
futhark-doc
: now generates valid HTML.
futhark-doc
: now permits files to contain a leading documentation
comment.
futhark-py
/futhark-pyopencl
: Better dynamic type checking in
entry points.
Primitive functions (sqrt etc) can now be constant-folded.
Futlib: /futlib/vec2 added.
shape
function has been removed. Use length
orThe from_i32
/from_i64
functions of the numeric
module type
have been replaced with functions named i32
/i64
. Similarly
functions have been added for all the other primitive types
(factored into a new from_prim
module type).
The overloaded type conversion functions (i32
, f32
, bool
,
etc) have been removed. Four functions have been introduced for
the special cases of converting between f32
/f64
and i32
:
r32
, r64
, t32
, t64
.
Modules and variables now inhabit the same name space. As a
consequence, we now use x.y
to access field y
of record x
.
Record expression syntax has been simplified. Record
concatenation and update is no longer directly supported.
However, fields can now be implicitly defined: {x,y}
now creates
a record with field x
and y
, with values taken from the
variables x
and y
in scope.
The !=
operator now works properly on arrays (#426).
Allocations were sometimes hoisted incorrectly (#419).
f32.e
is no longer pi.
Various other fixes.
Published by athas about 7 years ago
(This is just a list of highlights of what was included in the first
release.)
Code generators: Python and C, both with OpenCL.
Higher-order ML-style module system.
In-place updates.
Tooling: futhark-test, futhark-bench, futhark-dataset, futhark-doc.
Beginnings of a basis library, "futlib".