Software Documents

Licensed Software

This software is made available under the terms of the Graphcore End User License Agreement (EULA). Please ensure you have read and accept the terms of the license before using the software.

Release notes for each software release can be found on the Graphcore software download site.


User guides and API reference for the IPU implementation of TensorFlow and Keras.


PyTorch for the IPU: User Guide

User guide and API reference for PyTorch on the IPU.


The Poplar Advanced Runtime (PopART) for importing and executing models from industry standard ML frameworks, using the ONNX format.

Poplar Graph Programming Framework

Poplar and PopLibs User Guide

Information on how to use the Poplar graph programming tools to write code for the IPU.

Poplar and PopLibs API Reference

Details of the functions in the Poplar and PopLibs libraries provided in the Poplar SDK.

Vertex Assembly Programming Guide

Information about programming in vertices on the IPU. This also includes some useful detail about memory layout, programming in assembly language and interfaces to other tools.

Technical Notes

Creating Custom Operations for the IPU

Adding custom operations to PyTorch, TensorFlow and PopART.

Porting TensorFlow models to the IPU

A summary of the process of porting your TensorFlow application to the IPU.

Model parallelism with TensorFlow: sharding and pipelining

Exploiting the parallelism of the IPUs for your TensorFlow application.

Optimising for the IPU: Computational Graph Recompilation and Executable Switching in TensorFlow

Tips for managing graph compilation in TensorFlow.

Pre-Training and Fine-Tuning BERT for the IPU

A description of the implementation and performance of BERT-Large on Graphcore IPU-POD systems.

Profiling and Debugging

PopVision User Guide

The documentation for the PopVision Graph Analyser and System Analyser. This information is also available as context-sensitive help in the tools.

Poplar Profile Data

The contents of the files created by the Poplar tools with static and runtime profiling information. These files are mainly intended for use by the PopVision Graph Analyser but this may be useful to user’s wanting to understand the data for their own purposes or tool development.

Open Source Software

The following software is available as open source:

See also the Examples and Tutorials.

License Agreements