github diku-dk/futhark v0.14.1
0.14.1

latest releases: nightly, v0.25.23, v0.25.22...
4 years ago

Added

  • The optimiser is now somewhat better at removing unnecessary
    copies of array slices.

  • futhark bench and futhark test now take a --concurrency
    option for limiting how many threads are used for housekeeping
    tasks. Set this to a low value if you run out of memory.

  • random test blocks are now allowed to contain integer literals
    with type suffixes.

  • :frame <n> command for futhark repl for inspecting the stack.

  • e :> t notation, which means the same as e : t for now, but
    will have looser constraints in the future.

  • Size-lifted type abbreviations can be declared with type~ and
    size-lifted type parameters with '~. These currently have no
    significant difference from fully lifted types.

Changed

  • Tuples are now 0-indexed (#821, which also includes a conversion
    script).

  • Invalid ranges like 1..<0 now produce a run-time error instead
    of an empty array.

  • Record updates (r with f = e) now require r to have a
    completely known type up to f. This is a restriction that will
    hopefully be lifted in the future.

  • The backtrace format has changed to be innermost-first, like
    pretty much all other languages.

  • Value specs must now explicitly quantify all sizes of function
    parameters. Instead of

    val sum: []t -> t
    

    you must write

    val sum [n]: [n]t -> t
    
  • futhark test now once again numbers un-named data sets from 0
    rather than from 1. This fits a new general principle of always
    numbering from 0 in Futhark.

  • Type abbreviations declared with type may no longer contain
    functions or anonymous sizes in their definition. Use type^ for
    these cases. Just a warning for now, but will be an error in the
    future.

Fixed

  • Work around (probable) AMD OpenCL compiler bug for
    reduce_by_index operations with complex operators that require
    locking.

  • Properly handle another ICE on parse errors in test stanzas (#819).

  • futhark_context_new_with_command_queue() now actually works. Oops.

  • Different scopes are now properly addressed during type inference
    (#838). Realistically, there will still be some missing cases.

Don't miss a new futhark release

NewReleases is sending notifications on new releases.