1. Introduction

The Poplar Exchange Format (PopEF) is a Graphcore file format that is mainly used for exporting and importing models. PopEF is supported by the popef library that is a part of the Poplar SDK. The library contains both a C++ API and a Python API.

Models can be exported from any high-level framework provided by Graphcore, which includes PyTorch for the IPU, PopART and TensorFlow for the IPU.

PopEF allows you to store models on disk. Stored models contain all necessary information, such as:

  • a Poplar executable that can be run on the IPU

  • common metadata

  • framework-specific metadata

You can import a PopEF model using:

PopEF can also be used to store:

  • datasets for model inputs

  • tensors for model parameters (for example model weights)

  • specific user-defined opaque binary blobs

This document assumes that you have a good understanding of the IPU architecture and programming model. If you would like more information, refer to the IPU Programmer’s Guide.

For more information about the tools to write code for the IPU, refer to the documents for the Poplar graph programming framework.