Skip to content

Example code and applications for machine learning on Graphcore IPUs

License

Notifications You must be signed in to change notification settings

muzzynine/examples-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graphcore code examples

This repository contains sample applications, code examples and tutorials for use with Graphcore IPUs.

If you are interested in finding out more about Graphcore, including getting preview access to IPUs to run these examples, please register your interest here.

Please note we are not currently accepting pull requests or issues on this repository. If you are actively using this repository and want to report any issues, please raise a ticket through the Graphcore support portal: https://www.graphcore.ai/support.

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 1.4.x

Please install and enable the Poplar SDK following the instructions in the Getting Started guide for your IPU system. Note that for SDK 1.3 and later you no longer need to source a separate enable.sh for the Graphcore drivers.

Unless otherwise specified by a LICENSE file in a subdirectory, the LICENSE referenced at the top level applies to the files in this repository.

Repository contents

Notable examples

Example Link
BERT (PopART) code
BERT (TensorFlow) code
DeepVoice3 (PopART) code
CNN Training including ResNet, ResNeXt & EfficientNet (TensorFlow) code
CNN Inference including ResNet, MobileNet & EfficientNet (TensorFlow) code
CNN Training & Inference including ResNet, ResNeXt & EfficientNet (PyTorch) code
ResNet Training (PopART) code
ResNext Inference (PopART) code
Recommendation using Autoencoders (TensorFlow) code
Sales forecasting example (TensorFlow) code
Contrastive Divergence VAE using MCMC methods (TensorFlow) code
Example reinforcement learning policy model (TensorFlow) code
Click through rate: Deep Interest Network (TensorFlow) code
Dynamic Sparsity: MNIST RigL (TensorFlow) code
Dynamic Sparsity: Autoregressive Language Modelling (TensorFlow) code

Application examples

The 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.

Code examples

The code_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.

Tutorials

The tutorials/ folder contains tutorials to help you get started using the Poplar SDK and Graphcore tools. Currently, this contains:

  • tutorials/poplar - A set of tutorials to introduce the Poplar graph programming framework and the PopLibs libraries.
  • tutorials/pytorch - A tutorial to introduce the PyTorch framework support for the IPU.
  • tutorials/popvision - A set of tutorials to introduce the PopVision libraries.

The README files for the tutorials are best viewed on GitHub.

Utilities

The utils/ folder contains utilities libraries and scripts that are used across the other code examples. This includes:

  • utils/examples_tests - Common Python helper functions for the repository's unit tests.
  • utils/benchmarks - Common Python helper functions for running benchmarks on the IPU in different frameworks.

About

Example code and applications for machine learning on Graphcore IPUs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 89.3%
  • C++ 9.9%
  • Other 0.8%