This repository contains tutorials, feature examples and simple applications to help you learn how to use Graphcore IPUs.
If you encounter a problem or want to suggest an improvement to our tutorials please raise a Github issue or contact us at support@graphcore.ai.
The latest version of the documentation for the Poplar software stack, and other developer resources, is available at https://www.graphcore.ai/developer.
The code presented here requires using Poplar SDK 3.0. Please check other branches of this repository for code compatible with previous releases.
Please install and enable the Poplar SDK following the instructions in the Getting Started guide for your IPU system.
Unless otherwise specified by a LICENSE file in a subdirectory, the LICENSE referenced at the top level applies to the files in this repository.
The tutorials/ folder contains tutorials to help you get started using the Poplar SDK and Graphcore tools.
- tutorials/poplar - A set of tutorials to introduce the Poplar graph programming framework and the PopLibs libraries.
- tutorials/pytorch - A set of tutorials to introduce the PyTorch framework support for the IPU.
- tutorials/tensorflow1 - A set of tutorials to introduce the TensorFlow 1 framework support for the IPU.
- tutorials/tensorflow2 - A set of tutorials to introduce the TensorFlow 2 framework support for the IPU.
- tutorials/popvision - A set of tutorials to introduce PopVision, our suite of graphical application analysis tools.
- tutorials/popxl - A set of tutorials introducing PopXL, a Python module with which you can create models directly in PopART's intermediate representation.
- tutorials/standard_tools - Explanations of how to use standard deep learning tools with the Graphcore IPU.
A complete list of available tutorials can be found in the tutorials/ folder.
The README files for the tutorials are best viewed on GitHub.
The feature_examples/ folder contains small code examples showing you how to use various software features when developing for IPUs. See the READMEs in each folder for details.
The simple_applications/ folder contains example applications written in different frameworks targeting the IPU. See the READMEs in each folder for details on how to use these applications.
The kernel_benchmarks/ folder contains code for benchmarking the performance of some selected types of neural network layers on the IPU, using TensorFlow or our PopART framework.
The tech_notes_code/, videos_code/ and blogs_code/ folders contain code used in Graphcore tech notes, videos and blogs (respectively).
The utils/ folder contains utilities libraries and scripts.