跳转至

开发者文档

PyPTO 的构成:IR、pass 流水线、代码生成,以及围绕它们的基础设施。

本章面向开发编译器本身的人。如果你是在编写 PyPTO 程序,请从用户手册开始。

子章节

章节 内容
IR 节点层次、类型系统、算子、builder、parser、序列化、结构化比较
Passes pass 框架与默认流水线中的每个 pass,按执行顺序编号
语言 Python DSL 语法规范与外部 C++ kernel 接入
代码生成 把 IR lower 成 PTO-ISA 方言 MLIR 与编排层 C++
后端 通过 BackendHandler 做逐架构分派
调试 把 IR lower 成可执行的 PyTorch 脚本用于数值校验

顶层主题

页面 内容
PTO 项目生态 多仓库工具链 —— PyPTO、PTOAS、pto-isa、simpler、pypto-lib —— 及其组合方式
编译性能剖析 内建的编译流水线墙钟计时
错误处理 CHECKINTERNAL_CHECK、PyPTO 异常类型、失败信息中的 IR 源码位置
日志 两套相互独立的日志子系统,以及如何判断一条消息来自哪一套
运行时 DFX 开关 通过 RunConfig 暴露的五个运行时诊断子特性
模拟器 Trace 清洗 把 MindStudio Insight 二进制 dump 转成可读 trace
逐任务 Ring Sizing RunConfig 上的三个 ring 尺寸覆盖项及其调优时机
持久化 L3 执行 在多个已 prepare 的分布式程序间复用同一个 worker
内存图 把 pass dump 渲染成可交互的片上内存 HTML 图
分布式算子 N6 分布式算子家族 —— 对集合通信与低层原语的类型化 DSL 访问
PTOAS 算子状态矩阵 编译器当前会发射哪些 PTOAS 公开与兼容算子

另请参阅