The main updates to the documents are summarised below. In addition there will have been many incremental improvements and corrections.
Scaling AI with Graphcore and Pure Storage describes an example reference architecture developed with Pure Storage.
The Memory and Performance Optimisation guide describes general techniques for developing high-performance machine learning models running on the IPU.
Graphcore OpenStack reference design for IPU-POD systems illustrates a reference configuration of a Graphcore IPU‑POD64 rack deployed with OpenStack.
SDK 2.4 release¶
For full details of all the changes in this release, see the SDK 2.4 Release Notes.
New gcipuinfo library for monitoring and gathering information about the IPUs available in a system, and the applications using them.
Tutorials and examples¶
There are two new examples demonstrating use of the Poplar distributed configuration library (PopDist) for:
The following changes have been made to the Poplar tutorials:
The PyTorch tutorial on Fine-tuning BERT on the IPU is now available as a Jupyter notebook and a Python script.
The following tutorials are now available in Markdown and as Jupyter notebooks:
pytorch_apiMNIST application has been deleted because it is not compatible with the current version of PopART.
SDK 2.3 release¶
For full details of all the changes in this release, see the SDK 2.3 Release Notes.
Tutorials and examples¶
The TensorFlow 2 Graph recompilation tutorial was removed, as similar content is available in the technical note on optimising for the IPU in TensorFlow. This now covers both TensorFlow 1 and TensorFlow 2.
The Distributed MNIST with Horovod Training Demo was removed because it uses a feature (
HostAllReduce) which is no longer supported. For distributed training, use PopRun and PopDist instead. The example is compatible with SDK 2.1 and SDK 2.2.
SDK 2.2 release¶
Targeting the IPU from TensorFlow 2 has been revised to reflect the move to TensorFlow 2.4
The Vertex/Assembler Programming Guide has been merged into the Poplar and PopLibs User Guide
For full details of all the changes in this release, see the SDK 2.2 Release Notes.
A new white paper on Graphcore’s AI-Float technology with hardware support for mixed-precision and stochastic rounding.
SDK 2.1 release¶
For full details of all the changes in this release, see the SDK 2.1 Release Notes.
New tutorial on using the PopVision analysis library (libpva)
New example of using PopDist for distributed training
New technical note published on using the
availableMemoryProportionoption to optimise memory use: Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU
an improved section on loss scaling
a new section on how to avoid numerical issues (overflow, underflow, unstable operations)
and an additional example using the IPUEstimator
a new section on numerical stability (loss scaling, stochastic rounding)
a section on debugging floating-point exceptions
a section on PopTorch tracing
Updated Poplar profiling tutorial (tutorial 4):
code for the IPU Model and for running on hardware (previously only the IPU Model could be used)
an improved section on out-of-memory errors
an improved section on navigating a profile generated by PopVision Graph Analyser
A new technical note has been published with an overview of how to add custom operations in PyTorch, TensorFlow and PopART: Creating Custom Operations for the IPU.
The technical note Model parallelism with TensorFlow: sharding and pipelining was revised to be consistent with SDK 2.0, and with the addition of content on pipelining Keras models in TensorFlow 2.
Updates since SDK 2.0¶
Since the SDK release, the following documents have been updated:
The Graphcore Command Line Tools document has been updated to 1.0.51. This adds a description of the information returned by the
gc-info --tile-overviewoption and documents the new
The Targeting the IPU from TensorFlow 1 has been updated with an improved explanation of the role of XLA.
SDK 2.0 release¶
For full details of all the changes in this release, see the SDK 2.0 Release Notes.
The main documentation changes are:
New: PopDist and PopRun: User Guide documents the tool for running distributed programs and the associated PopDist library.
New and updated functions in the Poplar and PopLibs API Reference:
The PopVision trace instrumentation (PVTI) and PopVision analysis (PVA) libraries are now included in the in Poplar docs.
This includes the release of Poplar SDK 1.4, the IPU-M2000, the IPU-POD reference design and the supporting software tools.
Poplar SDK 1.4
Updates for new features in the SDK 1.4 release (see the SDK release notes for details of changes and new features in the SDK)
PopART: New chapter on writing
custom ops <popart-user-guide:custom_ops>
Keras: Introduction to using Keras in TensorFlow 2 on the IPU
TensorFlow: Added documentation and GitHub tutorial on Graph Recompilation in TensorFlow 2 (note: this tutorial was removed with SDK 2.3 so is not guaranteed to be compatible with this or later releases)
PopVision User Guide for the System Analyser and the trace instrumentation library (libpvti)
New and updated documents for IPU-POD64 reference design
New documents for IPU-M2000 direct attach
Documents for hardware support tools: