2. Release overview
2.1. TensorFlow
TensorFlow 1.15.5 and TensorFlow 2.6.3 / Keras 2.6.0
In the TensorFlow 2.6 release, Keras was moved into a separate pip package. This release includes the Graphcore distribution of TensorFlow 2.6 and a new separate wheel for the Graphcore distribution of Keras, which includes IPU-specific extensions.
(TensorFlow 2 only) When using Keras models with gradient accumulation or pipelining, it is possible to control how the gradients should be aggregated. Changing the default value for the
gradient_accumulation_reduction_methodparameter (forset_gradient_accumulation_optionsorset_pipelining_options) to use a running mean can improve training stability when using float16 gradients.The Protobuf dependency issue has been addressed and manually downgrading the Protobuf version is no longer necessary.
2.2. TensorFlow Serving
Preview version of TensorFlow Serving 1.15.0 and TensorFlow Serving 2.6.3 applications for the Graphcore IPU.
2.3. PopTorch
Compatible with PyTorch 1.10
Performance improvements for
torch.gather.Improved performance by compiling built-in custom ops at install time.
2.4. PopART
The profiling of cached executables is now supported. See the PopVision Graph Analyser documentation.
2.5. Poplar
Added a lightweight profiling mode. See the tutorial.
2.6. Graphcore communication library (GCL)
It is now possible to create GraphViz .gv files to visualize cross replica communication patterns.
Performance improvements and new features for collectives.
2.7. PopVision analysis library (libpva)
Added support for reading PVTI files. Poplar SDK v2.6 creates PVTI v1.4 files, which include thread names and absolute system time information.
2.8. PopRun and PopDist
More fine-grained process placement policies using the new
--process-placementflag. Please consult the Process placement and non-uniform memory access (NUMA) section of the PopRun user guide for more information on the pre-defined strategies.
2.9. Poplar Triton Backend
Fixed serving stability and improper server termination process.
2.10. Driver and utilities
Any V-IPU related environment variables will now be automatically passed down from the host to the container when launching a container with
gc-dockerunless explicitly disabled with the--no-default-envcommand line option. Users can easily pass down custom environment variables with the--pass-envoption.Improvements to logging and error messages.