YOLOv11在工地安全帽检测中的实践与优化
2026/7/24 10:09:57
PyPTO是华为昇腾 CANN 生态中的 Python 端算子加速库,全称Parallel Tensor/Tile Operation(并行张量/Tile 操作)。它让开发者可以直接用 Python 编写高性能算子,无需接触底层的 Ascend C 语言或硬件指令集。
PyPTO 是 CANN 工具链中连接应用开发层和编译层的桥梁,基于Tile 计算模型,将计算密集型算子高效映射到昇腾 NPU 的达芬奇架构上执行。
| 组件 | 定位 | 与 PyPTO 的关系 |
|---|---|---|
| Ascend C | 昇腾算子编程语言(最底层) | PyPTO 编译输出通过调用 Ascend C 底层接口生成可执行代码,在其之上构建 Python 抽象层 |
| ATB | Transformer 模型加速库 | ATB 在模型层面做算子编排,可调用 PyPTO 生成的算子;PyPTO 也可为 ATB 提供定制化算子 |
| catlass | 昇腾算子模板库(C++) | 两者技术上有交集,但 catlass 面向 C++ 开发者,PyPTO 面向 Python 开发者 |
@pypto.frontend.jit装饰器即可将 Python 函数编译为 NPU 算子| PyPTO 版本 | CANN 版本 | 发布时间 |
|---|---|---|
| 0.1.0 | — | 2026年1月 |
| 0.1.2 | CANN 8.5.0 | 2026年4月前 |
| 0.2.0 | CANN 9.0.0 | 2026年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)