Poplar graph programming framework

Documentation for the Poplar SDK and other software to develop ML applications for IPUs

User guides

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

Description of the classes and functions in the Poplar and PopLibs libraries

GCL User Guide and API Reference

Description of the classes and functions in the GCL library

Tile Vertex Instruction Set Architecture

Tile vertex instruction set architecture (ISA) documents for the IPU. This contains the subset of instructions used by the worker threads.

Poplar technical notes

Memory and Performance Optimisation on the IPU

Optimising high-performance machine learning models running on the IPU

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

Using the “available memory proportion” option to optimise memory use or performance