Logo
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

Previous Next

Revision 31078cea.