当前位置: 首页 > news >正文

CANN PTO自动模式总览

auto模式总览

【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa

范围

这篇文档提供一个auto模式的概览。

auto模式是什么

AUTO模式是一个新的PTO的编译模式。编译器负责自动为Tile分配内存和插入同步指令。和manual模式下编程大致相同,只是程序员不需要手动调用TASSIGN来分配内存,以及手动调用同步指令来同步pipe。

为什么使用auto mode?

auto模式的目标提高用户的编程效率,同时保持相对较好的性能(与一个manual模式下手动优化的代码相比)。

主要功能包括:

  • 自动在不同硬件pipe之间插入同步指令
  • 对Tile对象自动分配内存

AUTO模式特性

接下来的部分会介绍auto模式的特性,作为程序员可用的另一种编程模型。

重要: 一般来说,每一个PTO指令的实现,都应该拥有以下不同层级的API(从最高层到最低):

  • 用户层(kernel开发者可调用的公有的,最高层级API)
  • IMPL层
  • TF (Tile Function)层
  • CCE实现层(例如,vector function,SMIT,等等)

PTO编译器,是在Tile这一抽象层级工作的。这意味着,以下列出的所有特性都只在TF层以上运作,因为TF层接口是Tile抽象层级的最后一层;一旦进入了tile function,就脱离了Tile抽象层级,而进入了裸指针和CCE intrinsics的层级(CCE的领域)。因此,对PTO编译器来说,tile function是一个完全的黑盒子,PTO编译器的功能不会在tile function运作(那是CCE编译器处理的部分了)。

更具体来说,所有以下特性,只能在tile function层以上运作,而不会进入tile function内。

Tile的自动liveness分析

在auto模式下,编译器会分析每一个Tile的liveness。这个liveness分析是auto模式的核心,是给以下功能实现提供支持。

自动同步

在manual模式下,程序员需要熟悉昇腾硬件不同pipe之间异步运行的特性,并运用PTO的Event编程模型,在正确的地点手动插入同步指令,来保证正确的结果和高性能。这非常繁琐,且很容易出错。

auto模式编译器给程序员省去了这个麻烦。编译器会代替程序员自动在正确的位置插入正确的同步指令,确保正确的结果以及相对较好的性能。

Tile内存分配

在manual模式下,程序员需要手动调用TASSIGN来为每一个Tile对象分配对应硬件buffer上的内存地址。

然而在auto模式下这也不需要了。对于每一个定义的Tile对象,编译器会自动替程序员在正确的buffer上分配地址。

使用Ascend CANN编译auto模式代码

要用auto模式编译你的kernel,你只需要加上一条编译命令:--cce-enable-pto-passes,来使能auto模式编译。

示例(device侧编译)

要想编译一个device侧的kernel,请确保:

  • 针对你的Soc使用正确的--cce-aicore-arch...(比如,dav-c220-vecdav-c310-vec,等等)。

示例:

source /usr/local/Ascend/ascend-toolkit/latest/bin/setenv.bash bisheng -c -x cce -O2 --cce-aicore-only \ --cce-aicore-arch=dav-c310-vec \ -std=c++17 \ --cce-enable-pto-passes \ kernel.cpp -o kernel.o

【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/783796/

相关文章:

  • CANN学习中心GitCode环境体验指南
  • 3个关键步骤:用MouseTester精准诊断鼠标性能瓶颈
  • CANN/asc-devkit Arange API文档
  • 2026年广东二手PCB设备买卖市场深度横评与选购指南 - 年度推荐企业名录
  • 可靠的东莞市短视频推广公司,广东易搜网络科技有限公司值得信赖,短视频制作/短视频运营推广/短视频推广,短视频团队哪家专业 - 品牌推荐师
  • CANN基础算子贡献指南
  • CANN PyPTO并行Tensor编程框架
  • CANN/ATVC ReluWithReduceSum样例
  • AI智能体驱动的修仙世界模拟器:规则与LLM融合的自主演化系统
  • 收藏!程序员必备:从传统开发转向AI Agent开发的核心能力跃迁指南
  • 2026数字化展厅策划设计施工运维一站式公司解析 - 品牌排行榜
  • 2026年立式锯床厂家推荐排行榜:金属切割、精密、数控、液压、全自动立式锯床优质品牌之选! - 速递信息
  • Balena Etcher:极致安全的跨平台镜像烧录工具深度解析
  • 1Panel应用生态不够用?试试这个开源第三方商店(附自动同步脚本配置)
  • CANN ops-math Fill算子
  • 云原生架构重塑医疗影像:从数据孤岛到联邦学习的智能演进
  • 告别RTT告警:优化Pixhawk与树莓派4B的MAVROS通信性能(实测波特率921600)
  • Grouped Matmul MXFP4量化矩阵乘算子
  • 2026年山西精准获客与短视频代运营深度评测 - 优质企业观察收录
  • 2026实体店智能马桶选购指南:线下买怎么避坑?5大参数+6款横评一次看懂 - charlieruizvin
  • cann-samples分组MXFP8量化矩阵乘
  • CANN PTO-ISA 贡献指南
  • 5步掌握Seraphine:英雄联盟智能战绩查询与自动BP终极指南
  • 评价中心成本高难普及,AI介入能否解决规模与严谨性难题?
  • CANN opbase算子数据Dump接口
  • 2026年消防排烟风机市场规模突破200亿:深胜博实业如何从4家竞品中脱颖而出? - 优质企业观察收录
  • # WTAPI与AI集成:下一代个微自动化解决方案
  • OpenClaw AI 代理 Web 管理面板:可视化运维与集中控制实践
  • AI技能图谱:企业人才管理的动态评估与优化
  • 2026年HENF级板材品牌哪家好 - 品牌排行榜