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.

There are release notes for each software release.


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.

Running code on the IPU

PopDist and PopRun: User Guide

PopRun and PopDist support running applications across multiple IPUs.

Graphcore Command Line Tools

Monitor and control the IPU hardware (see also Supporting 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.


The data formats described in this document are no longer supported. They are replaced by the PopVision analysis API.

Open Source Software

The following software is available as open source:

See also the Examples and Tutorials.

License Agreements