Logo
Model Runtime: User Guide
Version: 3.3.0
  • 1. Introduction
  • 2. Model Runtime under the hood
    • 2.1. Finding hardware
    • 2.2. Data transfers
    • 2.3. Executable upload
    • 2.4. Tensor data
    • 2.5. Managing the data sources/targets
    • 2.6. Queues of data
    • 2.7. Buffers
    • 2.8. Conditional execution
    • 2.9. Dynamic batch sizing
    • 2.10. Improved model fusion and I/O overlap performance
    • 2.11. Error handling
  • 3. Model Runner deep dive through examples
    • 3.1. Execution modes
    • 3.2. Replication
    • 3.3. Multithreading
    • 3.4. Frozen inputs
  • 4. Session
    • 4.1. Creating a session
    • 4.2. Uploading user model onto IPU
    • 4.3. Handlers for model tensors
    • 4.4. Running programs
    • 4.5. Retrieving information from Session
    • 4.6. Managing queues of tensor data
    • 4.7. Verification
  • 5. Managing devices
    • 5.1. Device
    • 5.2. Device Manager
  • 6. Queue Manager
  • 7. Tools
    • 7.1. Callbacks benchmark
    • 7.2. Queues benchmark
    • 7.3. Real data
  • 8. Logging
  • 9. Appendix
    • 9.1. Files contain helper functions used by examples
    • 9.2. Generating example PopEF file
  • 10. Model Runtime C++ API reference
    • 10.1. High level API
      • 10.1.1. Device management
      • 10.1.2. Tensor memory representation
      • 10.1.3. Model Runner
    • 10.2. Low level API
      • 10.2.1. Anchor callback management
      • 10.2.2. Queue memory management
      • 10.2.3. Queue management
      • 10.2.4. Runtime management
  • 11. Model Runtime Python API
    • 11.1. High level API
      • 11.1.1. Device management
      • 11.1.2. Tensor memory representation
      • 11.1.3. Model Runner
    • 11.2. Low level API
      • 11.2.1. Anchor callback management
      • 11.2.2. Queue management
      • 11.2.3. Runtime management
  • 12. Legal notices
Model Runtime: User Guide

Search help

Note: Searching from the top-level index page will search all documents. Searching from a specific document will search only that document.

  • Find an exact phrase: Wrap your search phrase in "" (double quotes) to only get results where the phrase is exactly matched. For example "PyTorch for the IPU" or "replicated tensor sharding"
  • Prefix query: Add an * (asterisk) at the end of any word to indicate a prefix query. This will return results containing all words with the specific prefix. For example tensor*
  • Fuzzy search: Use ~N (tilde followed by a number) at the end of any word for a fuzzy search. This will return results that are similar to the search word. N specifies the “edit distance” (fuzziness) of the match. For example Polibs~1
  • Words close to each other: ~N (tilde followed by a number) after a phrase (in quotes) returns results where the words are close to each other. N is the maximum number of positions allowed between matching words. For example "ipu version"~2
  • Logical operators. You can use the following logical operators in a search:
    • + signifies AND operation
    • | signifies OR operation
    • - negates a single word or phrase (returns results without that word or phrase)
    • () controls operator precedence

12. Legal notices

Graphcloud®, Graphcore®, Poplar® and PopVision® are registered trademarks of Graphcore Ltd.

Bow™, Bow-2000™, Bow Pod™, Colossus™, In-Processor-Memory™, IPU-Core™, IPU-Exchange™, IPU-Fabric™, IPU-Link™, IPU-M2000™, IPU-Machine™, IPU-POD™, IPU-Tile™, PopART™, PopDist™, PopLibs™, PopRun™, PopTorch™, Streaming Memory™ and Virtual-IPU™ are trademarks of Graphcore Ltd.

All other trademarks are the property of their respective owners.

This software is made available under the terms of the Graphcore End User License Agreement (EULA) and the Graphcore Container License Agreement. Please ensure you have read and accept the terms of the corresponding license before using the software. The Graphcore EULA applies unless indicated otherwise.

© Copyright 2022 Graphcore Ltd. All rights reserved.

Previous

Revision 45f4b56a.