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:
the API of the framework used to save the model
the Graphcore version of TensorFlow Serving,
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.