Skip to content

0.15.1

Compare
Choose a tag to compare
@athas athas released this 16 Mar 09:19

Added

  • Futhark now type-checks size annotations using a size-dependent
    type system.

  • The parallel code generators can now handle bounds checking and
    other safety checks.

  • Integer division by zero is now properly safety-checked and
    produces an error message.

  • Integer exponentiation with negative exponent is now properly
    safety-checked and produces an error message.

  • Serious effort has been put into improving type errors.

  • reduce_by_index may be somewhat faster for complex operators on
    histograms that barely fit in local memory.

  • Improved handling of in-place updates of multidimensional arrays
    nested in map. These are now properly parallelised.

  • Added concat_to and flatten_to functions to prelude.

  • Added indices function to the prelude.

  • futhark check and all compilers now take a -w option for
    disabling warnings.

  • futhark bench now accepts --pass-compiler-option.

  • The integer modules now have mad_hi and mul_hi functions for
    getting the upper part of multiplications. Thanks to @porcuquine for the contribution!

  • The f32 and f64 modules now also define sinh, cosh,
    tanh, asinh, acosh, and atanh functions.

  • The f32 and f64 modules now also define fma and mad
    functions.

Removed

  • Removed update, split2, intersperse, intercalate, pick,
    steps, and range from the prelude.

Changed

  • "futlib" is now called "prelude", and it is now an error to
    import it explicitly.

Fixed

  • Corrected address calculations in csharp backend.

  • The C backends are now more careful about generating overflowing
    integer operations (since this is undefined behaviour in C, but
    defined in Futhark).

  • futhark dataset no longer crashes uncontrollably when used
    incorrectly (#849).