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 (for set_gradient_accumulation_options or set_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

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

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.