github diku-dk/futhark v0.2.0
0.2.0

latest releases: nightly, v0.25.15, v0.25.14...
6 years ago

Added

  • 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 maps 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.

Removed

  • The built-in shape function has been removed. Use length or
    size parameters.

Changed

  • The 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.

Fixed

  • The != operator now works properly on arrays (#426).

  • Allocations were sometimes hoisted incorrectly (#419).

  • f32.e is no longer pi.

  • Various other fixes.

Don't miss a new futhark release

NewReleases is sending notifications on new releases.