2. Release overview
2.1. PopTorch
Compatible with PyTorch 1.10
Dispatcher frontend enabled by default (replacing the tracing frontend) contributing to improved performance and fewer PopTorch-specific coding requirements.
Fixed BatchNorm running statistics, now using the unbiased estimator to update
running_var
at training time.
2.2. TensorFlow
TensorFlow 1.15.5 and TensorFlow 2.6.3
Extend the API for exporting models for
tf.serving
with the possibility of passing an optional pre- or post-processing function to be executed on the CPU as part of the exported model graph.
2.3. Keras
Keras 2.6.0
Add
indices_are_sorted
to Keras embedding layer to allow Poplar to optimise in scenarios where the given indices to look up are in order.Fix support for
keras.Input
when callingbuild
on aModel
subclass.
2.4. TensorFlow Serving
TensorFlow Serving 1.15.0 and TensorFlow Serving 2.6.3
Change component readiness level from Preview to GA.
2.5. PopART
Add support for scatterreduce with max and min reductions providing additional operation coverage.
Support Nesterov momentum for SGD providing additional optimiser functionality.
2.6. Poplar Libraries
Optimisations for gather and scatter operations.
2.7. Poplar
Improve the formatting for the output of
PrintTensor
to make it easier to read, including summarisation for large tensors. ThePrintTensorFmt
class can be used to customise output.Additional 8-bit floating point support.
Poplar will detect mismatches between graph construction and runtime Poplar options. Mismatches that will have a functional impact will throw an error, otherwise it is reported as a warning.
2.8. Graphcore communication library (GCL)
The GCL option
syncful.useForwardingToSupportStridedGroups=auto
is now exposed externally.
2.9. PopRun and PopDist
Add debug mode to PopRun. Add
--debug
on the command line for advanced diagnostics.Host SSH keys for multi-node systems should be automatically populated for all users. This is supported by the ability to forward the SSH key to the hosts specified.
Eliminate the need for passing of IP addresses/hostnames to PopRun. Host names can be read from a file.
2.10. PopVision analysis library (libpva)
Add information about the location in the source code where a debug context was created.
Add support for compute set debug contexts.
Improve performance and bug fixes for reading PopVision Trace Information files.
2.11. PopEF
General
popef_dump
improvements for output formatting and readability and to allow data filtering.Add remote buffers support.
Add
ModelBuilder
Python bindings.
2.12. Model Runtime
Initial publication of API documentation and user guide for the Model Runtime library used by the Poplar Triton Backend and Graphcore’s version of TensorFlow Serving.
2.13. Poplar Triton Backend
Change component readiness level from Preview to GA.
Add handling of directories to model files stored in config.
2.14. Driver and utilities
IPUoF client: Add
get_contiguous_remote_buffer()
to decrease host memory usage.