5.9. PopLibs

3.0.0

New features

  • poplin:

    • Add new options to measure accuracy of the planner by comparing the planner to the profiled output in the single_conv_layer tool.

    • Improve common error messages to identify if the error was for a convolution or matrix multiply.

  • popops:

    • Add support to cast between FP8 and FP32.

    • Optimise gather, scatter and other operations which have padding indices.

Bug Fixes

  • popnn:

    • Fixed incorrect arithmetic expression in popnn the calculation of nonlinearity estimated cycles.

  • popops

    • Fixed bug in popops::multiUpdatemax which returned the wrong value.

  • poprand

    • Fixed Poplar rand to ensure random numbers are generated within the requested range.

Other improvements

  • Rename movz to movnz. Due to an initial bug in the ISA, movnz was incorrectly named as movz. movz is now deprecated.

  • Poplar vertices can now return a void instead of a bool. Multiple PopLibs vertices have been updated to return void.

  • poplin

    • Improve documentation for layerNormStatistics.

    • Add better error reporting of valid types for convolution and matmul calls.

  • popops

    • Balance work across worker threads for scatters to improve performance.

    • Added an assembler implementation of the casts between FP8 and FP16 that improves performance by a factor of 36.

Known issues

None

Compatibility changes

None