PopART User Guide
Version: 2.4.0
1. Introduction
2. Importing graphs
2.1. Creating a session
2.2. Session control options
3. Building graphs in PopART
3.1. Adding operations to the graph
3.2. Adding parameters to the graph
3.3. Setting outputs
3.4. Setting the IPU number for operations
4. Executing graphs
4.1. Setting input/output data buffers for an execution
4.1.1. Retrieving results
4.2. Session options
4.2.1. Stochastic rounding
4.3. Selecting a device for execution
4.4. Executing a session
4.5. Saving and loading a model
4.6. Retrieving profiling reports
4.7. Turning on execution tracing
4.7.1. Programming interface
4.7.2. Output format
4.8. Errors
4.8.1. Application errors
4.8.2. System errors
5. Performance optimisation
5.1. Pipelined execution
5.2. Graph replication
5.2.1. Local replication
5.2.2. Global replication
5.3. Sync configuration
5.3.1. Sync patterns
6. Supported operators
6.1. Domain: ai.onnx
6.2. Domain: ai.graphcore
6.2.1. Limitations
6.3. Limitations of ai.onnx operators
6.4. Limitations of ai.graphcore operators
7. Custom operators
7.1. Overview
7.1.1. Custom op classes
7.2. Implementing a custom op
7.2.1. The op class
LeakyReluOp example
7.2.2. The grad op class
7.2.3. The opx class
7.2.4. The grad opx class
7.3. Making the op available to PopART
7.3.1. Define the op identifier
7.3.2. Define the op creator
7.3.3. Define the opx creator
7.4. ONNX schema and shape inference
7.5. Using the op in a program
8. Environment variables
8.1. Logging
8.1.1. POPART_LOG_LEVEL
8.1.2. POPART_LOG_DEST
8.1.3. POPART_LOG_CONFIG
8.2. Generating DOT files
8.2.1. POPART_DOT_CHECKS
8.3. Inspecting the Ir
8.3.1. POPART_IR_DUMP
9. Overlapping IO with compute
9.1. Configuring IO tiles
9.2. Specify overlap strategy for inputs
9.3. Specify overlap strategy for anchors
9.4. Exchange strategies
10. Tensor locations
10.1. Off-chip streaming memory
10.2. Replicated tensor sharding (RTS)
10.3. RTS sharding domains and distributed instances
11.
popart.ir
User Guide (experimental)
11.1. Concepts
11.1.1. Building blocks
IRs
Graphs
Tensors
Ops
11.2. Simple example
11.3. Data types
11.4. Tensors
11.4.1. Constant
11.4.2. Variable
11.4.3. Intermediate
12. Glossary
13. References
14. Trademarks & copyright
PopART User Guide
13.
References
https://onnx.ai/
https://pytorch.org/docs/stable/index.html
Poplar and PopLibs User Guide