Logo
POPRT USER GUIDE
Version: 1.5.0
  • 1. 简介
    • 1.1. 背景
    • 1.2. 架构
    • 1.3. 工作流程
  • 2. 安装
    • 2.1. PopRT 和 Poplar SDK 版本的对应关系
    • 2.2. 从 Docker 镜像快速开始
    • 2.3. 在 Host 上安装 PopRT
      • 2.3.1. For Ubuntu 20.04
  • 3. 快速开始
    • 3.1. 主要参数介绍
    • 3.2. 转换并运行模型
      • 3.2.1. 下载 ONNX 模型
      • 3.2.2. 获取 ONNX 模型输入输出信息
      • 3.2.3. 指定输入 shape
      • 3.2.4. 指定模型精度
      • 3.2.5. 运行模型
      • 3.2.6. 导出 PopEF
    • 3.3. 快速部署
      • 3.3.1. 运行导出的 PopEF
      • 3.3.2. 运行转换后的 ONNX 模型
    • 3.4. Python API 示例
  • 4. 使用 PopRT
    • 4.1. 使用方法
      • 4.1.1. CLI 使用
        • Named Arguments
        • Sub-commands:
          • tf2onnx
  • 5. Features
    • 5.1. Passes
      • 5.1.1. Pass 抽象
    • 5.2. FP8
      • 5.2.1. IPU FP8 类型介绍
      • 5.2.2. FP8 量化介绍
      • 5.2.3. FP32 模型转 FP8 模型的流程
      • 5.2.4. FP8 模型转换工具使用方法
      • 5.2.5. FP8 模型转换精度调试经验
    • 5.3. Overlap I/O
      • 5.3.1. 原理
      • 5.3.2. 配置 IO Tiles
      • 5.3.3. 调试
      • 5.3.4. 并发请求
      • 5.3.5. 示例
    • 5.4. Dynamic batch size
      • 5.4.1. 背景
      • 5.4.2. 示例
    • 5.5. Packing
      • 5.5.1. 背景
      • 5.5.2. Packing 及 unpacking
      • 5.5.3. Transformer-based NLP models
      • 5.5.4. 如何使用 packing
        • 下载模型
        • 转换模型
        • 运行模型
    • 5.6. CPU packing
      • 5.6.1. 背景
      • 5.6.2. 功能模块介绍
        • 1. 超时处理
        • 2. 用户数据预处理
        • 3. 数据累积
        • 4. Pack 后处理
      • 5.6.3. Pack 算法
        • 1. 首尾相连的 pack 方法
        • 2. FirstFit pack 方法
        • 3. NextFit pack 方法
      • 5.6.4. 示例
    • 5.7. Model fusion
      • 5.7.1. 实现 PopRT 模型融合
      • 5.7.2. 实现 PopRT runtime 融合模型推理
    • 5.8. Custom operations
      • 5.8.1. 编写自定义算子
        • 创建一个带有 LeakyRelu OP 的 ONNX 模型文件
        • 在 PopRT 中使用自定义算子
    • 5.9. Custom passes
      • 5.9.1. 实现 custom passes
      • 5.9.2. 使用 custom passes
        • 在 PopRT CLI 中使用 custom passes
        • 在 Python API 中使用 custom passes
    • 5.10. Custom patterns
      • 5.10.1. 实现 custom PopART patterns
      • 5.10.2. 在 PopRT 中使用 custom PopART patterns
        • 方法一: 在 PatternCreator 设置 pattern 默认使能
        • 方法二: 使用 Python API 启用或关闭指定的 pattern
        • 方法三: 通过 CLI 命令行参数启用或关闭指定的 pattern
    • 5.11. Custom transforms
      • 5.11.1. 实现 custom PopART transform
      • 5.11.2. 在 PopRT 中使用 custom transform
    • 5.12. Manual sharding
      • 5.12.1. Sharding / 模型并行
      • 5.12.2. Pipelining / 流水线并行
      • 5.12.3. Manual sharding 流程
      • 5.12.4. 配置 manual sharding
        • 通过 PopRT CLI 配置 manual sharding
        • 通过 poprt.converter.Sharder API 配置 manual sharding
      • 5.12.5. 示例
    • 5.13. Error handling
      • 5.13.1. 背景
      • 5.13.2. 相关的错误处理方式
    • 5.14. PopRT frontend
      • 5.14.1. ONNX frontend
      • 5.14.2. TensorFlow frontend
        • 通过 PopRT CLI 加载 TensorFlow 模型
        • 通过 poprt.frontend API 加载 TensorFlow 模型
    • 5.15. Auto sharding
      • 5.15.1. 模型并行
      • 5.15.2. Auto sharding 原理介绍
        • 备选点策略
        • 切分方案遍历策略
      • 5.15.3. Auto sharding 使用方法
        • 参数介绍
        • 举例
    • 5.16. Model debugger
      • 5.16.1. 使用方法
      • 5.16.2. 使用示例
  • 6. Python API
    • 6.1. poprt module
    • 6.2. poprt.compiler module
    • 6.3. poprt.runtime module
    • 6.4. poprt.frontend module
    • 6.5. poprt.backends module
    • 6.6. poprt.quantizer module
    • 6.7. poprt.passes module
      • 6.7.1. Built-in passes
  • 7. C++ API
    • 7.1. PopRT compiler
    • 7.2. Executable
    • 7.3. PopRT runtime
      • 7.3.1. DeviceManager
  • 8. 文档修订记录
  • 9. Trademarks & copyright
POPRT USER GUIDE

9. Trademarks & copyright

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-2023 Graphcore Ltd. All rights reserved.

Previous