5.8. PopART

3.1.0

New features

  • Added error trap if attempting to use a non-contiguous NumPy array to copy tensors off the device.

  • Added support for negative axes to the Split and Slice ops.

  • Added support for steps > 1 and steps < -1 to the Slice op.

  • Added support to the Resize op for both scales and sizes inputs (one of the two tensors is empty).

  • Added float16 support to cumsum.

  • Added support for custom transforms (experimental).

Bug Fixes

  • Fixed potential hang in device detach.

Other improvements

  • Load Poplar executable files lazily if they are named with a hash.

Known issues

None

Compatibility changes

  • The popart::PopOpx class has been marked as deprecated. Please change your custom ops to inherit from popart::Opx instead. The popart::PopOpx class will likely be removed in the next release.

3.0.0

New features

  • Add support for scatterreduce with max and min reductions providing additional operation coverage.

  • Support Nesterov momentum for SGD providing additional optimiser functionality.

  • Add multi reducescatter and allgather to support merged collectives.

    For more details refer to popart::ReplicatedCollectivesSettings.

  • Add batchnorm with unbiased variance for PopTorch.

Bug Fixes

None

Other improvements

  • Merge PopART User Guide and API documentation documentation.

  • Improvements to PopART User Guide including sections for:

    • overlapped IO

    • converting ONNX models

    • replication

    • glossary

  • Improvements to printing tensors. The output of C++ PrintTensorOp or Python printtensor is automatically summarized and aligned, making it easier to read. New formatting options have also been added to allow configuration of the output.

Known issues

None

Compatibility changes

None