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.

TensorFlow

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

Porting TensorFlow models to the IPU

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

Model parallelism with TensorFlow: sharding and pipelining

Technical Note: Exploiting the parallelism of the IPUs for your TensorFlow application.

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

Technical Note: Tips for managing graph compilation in TensorFlow.

Creating Custom Operations for the IPU

Technical Note: Adding custom operations to TensorFlow and other frameworks

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

Technical Note: Using the availableMemoryProportion for optimising temporary memory use for convolutions and matrix multiplies on the IPU.

PyTorch

PyTorch for the IPU: User Guide

User guide and API reference for PyTorch on the IPU.

Creating Custom Operations for the IPU

Technical Note: Adding custom operations to PyTorch and other frameworks

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

Technical Note: Using the availableMemoryProportion for optimising temporary memory use for convolutions and matrix multiplies on the IPU.

PopART

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

Creating Custom Operations for the IPU

Technical Note: Adding custom operations to PopART and other frameworks

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

Technical Note: Using the availableMemoryProportion for optimising temporary memory use for convolutions and matrix multiplies on the IPU.

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 Programming Guide

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

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

Technical Note: Using the availableMemoryProportion for optimising temporary memory use for convolutions and matrix multiplies on the IPU.

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).

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.

Open Source Software

The following software is available as open source:

See also the Examples and Tutorials.

License Agreements