PyPTO*华为昇腾 CANN 生态中的 Python 端算子加速库PyPTO* 并行张量/Tile 操作
2026/7/24 8:50:15 网站建设 项目流程

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.02026年1月
0.1.2CANN 8.5.02026年4月前
0.2.0CANN 9.0.02026年4月

支持硬件:Ascend 950PR、Atlas A2 训练/推理系列、Atlas A3 训练/推理系列。

简单示例

importpyptoimporttorch@pypto.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 张量调用x=torch.randn(3,dtype=torch.float32,device='npu:0')y=torch.randn(3,dtype=torch.float32,device='npu:0')result=add_kernel(x,y)

资源链接

  • 官方仓库:https://gitcode.com/cann/pypto(或 https://atomgit.com/cann/pypto)
  • CANN 社区:https://atomgit.com/cann
  • 示例代码:https://atomgit.com/cann/cann-samples

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询