
PyPTO是华为昇腾 CANN 生态中的 Python 端算子加速库全称Parallel Tensor/Tile Operation并行张量/Tile 操作。它让开发者可以直接用 Python 编写高性能算子无需接触底层的 Ascend C 语言或硬件指令集。核心定位PyPTO 是 CANN 工具链中连接应用开发层和编译层的桥梁基于Tile 计算模型将计算密集型算子高效映射到昇腾 NPU 的达芬奇架构上执行。与 CANN 其他组件的关系组件定位与 PyPTO 的关系Ascend C昇腾算子编程语言最底层PyPTO 编译输出通过调用 Ascend C 底层接口生成可执行代码在其之上构建 Python 抽象层ATBTransformer 模型加速库ATB 在模型层面做算子编排可调用 PyPTO 生成的算子PyPTO 也可为 ATB 提供定制化算子catlass昇腾算子模板库C两者技术上有交集但 catlass 面向 C 开发者PyPTO 面向 Python 开发者主要特性Python 原生体验通过pypto.frontend.jit装饰器即可将 Python 函数编译为 NPU 算子多层中间表示IR编译管线包含 Tensor Graph → Tile Graph → Block Graph → Execution Graph 四层 IR与 PyTorch 深度集成利用 PyTorch FX Tracer 将动态图转换为 CANN PTO 静态图仿真模式无 NPU 硬件时可在纯 CPU 环境下验证算子逻辑和预估性能分布式支持提供 Shmem API 实现跨 rank 的高效数据交换支持 MoE 等分布式训练场景版本与硬件支持PyPTO 版本CANN 版本发布时间0.1.0—2026年1月0.1.2CANN 8.5.02026年4月前0.2.0CANN 9.0.02026年4月支持硬件Ascend 950PR、Atlas A2 训练/推理系列、Atlas A3 训练/推理系列。简单示例importpyptoimporttorchpypto.frontend.jitdefadd_kernel(a:pypto.Tensor,b:pypto.Tensor,out:pypto.Tensor):pypto.set_vec_tile_shapes(2,8)out[:]pypto.add(a,b)# 直接传入 torch 张量调用xtorch.randn(3,dtypetorch.float32,devicenpu:0)ytorch.randn(3,dtypetorch.float32,devicenpu:0)resultadd_kernel(x,y)资源链接官方仓库https://gitcode.com/cann/pypto或 https://atomgit.com/cann/pyptoCANN 社区https://atomgit.com/cann示例代码https://atomgit.com/cann/cann-samples