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_method
parameter (forset_gradient_accumulation_options
orset_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-placement
flag. 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-docker
unless explicitly disabled with the--no-default-env
command line option. Users can easily pass down custom environment variables with the--pass-env
option.Improvements to logging and error messages.