Over the last three years, hand in hand with designing the world’s most sophisticated silicon processor, we have also built the world's very first graph tool chain specifically designed for machine intelligence - the Poplar software stack.
Poplar seamlessly integrates with TensorFlow and Open Neural Network Exchange (ONNX) allowing developers to use their existing machine intelligence development tools and existing machine learning models. Graphcore also delivers a full training runtime for ONNX and is working closely with the ONNX organisation to include this in the ONNX standard environment. Initial PyTorch support is available in Q4 2019 with full advanced feature support becoming available in early 2020.
The Poplar software stack includes a complete set of libraries that support common machine learning primitives and building blocks. The library elements are described in the Poplar C++ graph-framework that is intuitive to use. Full control of the IPU processor is possible in this Poplar framework but it is only users looking to create new innovations and breakthroughs that will need to dive in. Most users will just develop their solutions in high-level frameworks like TensorFlow or ONNX. The Poplar graph compiler creates a full compute graph from the high-level framework and then efficiently maps this to the IPU processor.