Technical Notes and White Papers

Technical Notes

Creating Custom Operations for the IPU

Adding custom operations to PyTorch, TensorFlow and PopART.

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.

Optimising Temporary Memory Usage for Convolutions and Matmuls on the IPU

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

PopSparse Matrix Multiplication (Dynamic Pattern)

A description of the implementation of the PopSparse library in PopLibs.

Porting TensorFlow models to the IPU

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

Pre-Training and Fine-Tuning BERT for the IPU

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

Switched GW-Links in large scale IPU-POD systems

A description of switched GW-Links connecting between IPU-M2000s in large scale switched IPU-PODs.