1. Overview
The following blog articles introduce using PyTorch Geometric on IPUs:
New to IPUs?
We suggest watching the Fundamentals of the IPU and Poplar video, which introduces the IPU architecture and programming model.
You can also read the IPU Programmer’s Guide and Switching from GPUs to IPUs for Machine Learning Models for more details on these topics.
1.1. Documentation
The document PyTorch Geometric for the IPU: User Guide describes PopTorch Geometric, the set of extensions for PyTorch Geometric, enabling Graph Neural Network models to be trained, evaluated and used on Graphcore IPU hardware.
1.2. Running applications
Note
There are three ways you can run PyTorch Geometric applications:
Directly on the system using the setup described in this document.
In a PyTorch Geometric Docker container that has already been setup. Refer to Using IPUs from Docker for more information.
1.2.1. IPU systems
Before following the setup instructions in this Quick Start guide, you must be able to log into a system with access to IPUs. Details are given in the getting started guide for your system:
1.3. Tutorials
The PyTorch Geometric tutorials in the Graphcore GitHub Examples repository cover the following topics:
PyTorch Geometric on IPUs at a glance describes how to make minor changes to an existing PyTorch Geometric model so that it can run on IPUs.
An end to end example using PyTorch Geometric on IPUs describes how to get started training and running inference on your first GNN model on IPUs.
Small graph batching on IPUs using padding describes the basic approaches to obtain fixed-size inputs suitable for datasets made up of many small graphs.
Small graph batching on IPUs using packing describes how to use packing to improve on the inefficiency of small graph batching using padding.
Note
Follow the setup instructions in Section 2, Environment setup to set up your system to run these tutorials.