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

CANN PTO ISA指令集概述

PTO ISA 概述

【免费下载链接】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

本文档为根据docs/isa/manifest.yaml自动生成的 ISA 索引。

文档目录

领域页面描述
概述docs/README_zh.mdPTO ISA 指南入口与导航。
概述docs/PTOISA_zh.md本页(概述 + 全量指令索引)。
ISA 参考docs/isa/README_zh.md每条指令参考目录。
ISA 参考docs/isa/conventions_zh.md通用符号、操作数、事件与修饰符。
汇编 (PTO-AS)docs/assembly/PTO-AS_zh.mdPTO-AS 语法参考。
权威源include/pto/common/pto_instr.hppC++ intrinsic API(权威来源)。
PTO auto 模式docs/auto_mode/README_zh.mdPTO auto模式文档入口

指令索引(全部 PTO 指令)

分类指令描述
同步TSYNC同步 PTO 执行(等待事件或插入每操作流水线屏障)。
手动 / 资源绑定TASSIGN将 Tile 对象绑定到实现定义的片上地址(手动放置)。
手动 / 资源绑定SETFMATRIX为类 IMG2COL 操作设置 FMATRIX 寄存器。
手动 / 资源绑定SET_IMG2COL_RPT从 IMG2COL 配置 Tile 设置 IMG2COL 重复次数元数据。
手动 / 资源绑定SET_IMG2COL_PADDING从 IMG2COL 配置 Tile 设置 IMG2COL 填充元数据。
逐元素(Tile-Tile)TADD两个 Tile 的逐元素加法。
逐元素(Tile-Tile)TABSTile 的逐元素绝对值。
逐元素(Tile-Tile)TAND两个 Tile 的逐元素按位与。
逐元素(Tile-Tile)TOR两个 Tile 的逐元素按位或。
逐元素(Tile-Tile)TSUB两个 Tile 的逐元素减法。
逐元素(Tile-Tile)TMUL两个 Tile 的逐元素乘法。
逐元素(Tile-Tile)TMIN两个 Tile 的逐元素最小值。
逐元素(Tile-Tile)TMAX两个 Tile 的逐元素最大值。
逐元素(Tile-Tile)TCMP比较两个 Tile 并写入一个打包的谓词掩码。
逐元素(Tile-Tile)TDIV两个 Tile 的逐元素除法。
逐元素(Tile-Tile)TSHL两个 Tile 的逐元素左移。
逐元素(Tile-Tile)TSHR两个 Tile 的逐元素右移。
逐元素(Tile-Tile)TXOR两个 Tile 的逐元素按位异或。
逐元素(Tile-Tile)TLOGTile 的逐元素自然对数。
逐元素(Tile-Tile)TRECIPTile 的逐元素倒数。
逐元素(Tile-Tile)TPRELU带逐元素斜率 Tile 的逐元素参数化 ReLU (PReLU)。
逐元素(Tile-Tile)TADDC三元逐元素加法:src0 + src1 + src2
逐元素(Tile-Tile)TSUBC三元逐元素运算:src0 - src1 + src2
逐元素(Tile-Tile)TCVT带指定舍入模式的逐元素类型转换。
逐元素(Tile-Tile)TSEL使用掩码 Tile 在两个 Tile 之间进行选择(逐元素选择)。
逐元素(Tile-Tile)TRSQRT逐元素倒数平方根。
逐元素(Tile-Tile)TSQRT逐元素平方根。
逐元素(Tile-Tile)TEXP逐元素指数运算。
逐元素(Tile-Tile)TPOW逐元素幂运算。
逐元素(Tile-Tile)TNOTTile 的逐元素按位取反。
逐元素(Tile-Tile)TRELUTile 的逐元素 ReLU。
逐元素(Tile-Tile)TNEGTile 的逐元素取负。
逐元素(Tile-Tile)TREM两个 Tile 的逐元素余数,余数符号与除数相同。
逐元素(Tile-Tile)TFMOD两个 Tile 的逐元素余数,余数符号与被除数相同。
Tile-标量 / Tile-立即数TEXPANDS将标量广播到目标 Tile 中。
Tile-标量 / Tile-立即数TCMPS将 Tile 与标量比较并写入逐元素比较结果。
Tile-标量 / Tile-立即数TSELS使用掩码 Tile 在源 Tile 和标量之间进行选择(源 Tile 逐元素选择)。
Tile-标量 / Tile-立即数TMINSTile 与标量的逐元素最小值。
Tile-标量 / Tile-立即数TADDSTile 与标量的逐元素加法。
Tile-标量 / Tile-立即数TSUBS从 Tile 中逐元素减去一个标量。
Tile-标量 / Tile-立即数TDIVS与标量的逐元素除法(Tile/标量 或 标量/Tile)。
Tile-标量 / Tile-立即数TMULSTile 与标量的逐元素乘法。
Tile-标量 / Tile-立即数TFMODS与标量的逐元素余数:fmod(src, scalar)
Tile-标量 / Tile-立即数TREMS与标量的逐元素余数:remainder(src, scalar)
Tile-标量 / Tile-立即数TMAXSTile 与标量的逐元素最大值:max(src, scalar)
Tile-标量 / Tile-立即数TANDSTile 与标量的逐元素按位与。
Tile-标量 / Tile-立即数TORSTile 与标量的逐元素按位或。
Tile-标量 / Tile-立即数TSHLSTile 按标量逐元素左移。
Tile-标量 / Tile-立即数TSHRSTile 按标量逐元素右移。
Tile-标量 / Tile-立即数TXORSTile 与标量的逐元素按位异或。
Tile-标量 / Tile-立即数TLRELU带标量斜率的 Leaky ReLU。
Tile-标量 / Tile-立即数TPOWSTile 逐元素与标量幂运算。
Tile-标量 / Tile-立即数TADDSC与标量和第二个 Tile 的融合逐元素加法:src0 + scalar + src1
Tile-标量 / Tile-立即数TSUBSC融合逐元素运算:src0 - scalar + src1
轴归约 / 扩展TROWSUM通过对列求和来归约每一行。
轴归约 / 扩展TROWPROD通过跨列乘积来归约每一行。
轴归约 / 扩展TCOLSUM通过对行求和来归约每一列。
轴归约 / 扩展TCOLPROD通过跨行乘积来归约每一列。
轴归约 / 扩展TCOLMAX通过取行间最大值来归约每一列。
轴归约 / 扩展TROWMAX通过取列间最大值来归约每一行。
轴归约 / 扩展TROWMIN通过取列间最小值来归约每一行。
轴归约 / 扩展TROWARGMAX获取每行最大值对应列索引。
轴归约 / 扩展TROWARGMIN获取每行最小值对应列索引。
轴归约 / 扩展TCOLARGMAX获取每列最大值对应行索引。
轴归约 / 扩展TCOLARGMIN获取每列最小值对应行索引。
轴归约 / 扩展TROWEXPAND将每个源行的第一个元素广播到目标行中。
轴归约 / 扩展TROWEXPANDDIV行广播除法:将src0的每一行除以一个每行标量向量src1
轴归约 / 扩展TROWEXPANDMUL行广播乘法:将src0的每一行乘以一个每行标量向量src1
轴归约 / 扩展TROWEXPANDSUB行广播减法:从src0的每一行中减去一个每行标量向量src1
轴归约 / 扩展TROWEXPANDADD行广播加法:加上一个每行标量向量。
轴归约 / 扩展TROWEXPANDMAX行广播最大值:与每行标量向量取最大值。
轴归约 / 扩展TROWEXPANDMIN行广播最小值:与每行标量向量取最小值。
轴归约 / 扩展TROWEXPANDEXPDIF行指数差运算:计算 exp(src0 - src1),其中 src1 为每行标量。
轴归约 / 扩展TCOLMIN通过取行间最小值来归约每一列。
轴归约 / 扩展TCOLEXPAND将每个源列的第一个元素广播到目标列中。
轴归约 / 扩展TCOLEXPANDDIV列广播除法:将每一列除以一个每列标量向量。
轴归约 / 扩展TCOLEXPANDMUL列广播乘法:将每一列乘以一个每列标量向量。
轴归约 / 扩展TCOLEXPANDADD列广播加法:对每一列加上每列标量向量。
轴归约 / 扩展TCOLEXPANDMAX列广播最大值:与每列标量向量取最大值。
轴归约 / 扩展TCOLEXPANDMIN列广播最小值:与每列标量向量取最小值。
轴归约 / 扩展TCOLEXPANDSUB列广播减法:从每一列中减去一个每列标量向量。
轴归约 / 扩展TCOLEXPANDEXPDIF列指数差运算:计算 exp(src0 - src1),其中 src1 为每列标量。
内存(GM <-> Tile)TLOAD从 GlobalTensor (GM) 加载数据到 Tile。
内存(GM <-> Tile)TPREFETCH将数据从全局内存预取到 Tile 本地缓存/缓冲区(提示)。
内存(GM <-> Tile)TSTORE将 Tile 中的数据存储到 GlobalTensor (GM),可选使用原子写入或量化参数。
内存(GM <-> Tile)TSTORE_FP使用缩放 (fp) Tile 作为向量量化参数,将累加器 Tile 存储到全局内存。
内存(GM <-> Tile)MGATHER使用逐元素索引从全局内存收集加载元素到 Tile 中。
内存(GM <-> Tile)MSCATTER使用逐元素索引将 Tile 中的元素散播存储到全局内存。
矩阵乘TGEMV_MX带缩放 Tile 的 GEMV 变体,支持混合精度/量化矩阵向量计算。
矩阵乘TMATMUL_MX带额外缩放 Tile 的矩阵乘法 (GEMM),用于支持目标上的混合精度/量化矩阵乘法。
矩阵乘TMATMUL矩阵乘法 (GEMM),生成累加器/输出 Tile。
矩阵乘TMATMUL_ACC带累加器输入的矩阵乘法(融合累加)。
矩阵乘TMATMUL_BIAS带偏置加法的矩阵乘法。
矩阵乘TGEMV通用矩阵-向量乘法,生成累加器/输出 Tile。
矩阵乘TGEMV_ACC带显式累加器输入/输出 Tile 的 GEMV。
矩阵乘TGEMV_BIAS带偏置加法的 GEMV。
数据搬运 / 布局TEXTRACT从源 Tile 中提取子 Tile。
数据搬运 / 布局TEXTRACT_FP带 fp/缩放 Tile 的提取(向量量化参数)。
数据搬运 / 布局TIMG2COL用于类卷积工作负载的图像到列变换。
数据搬运 / 布局TINSERT在 (indexRow, indexCol) 偏移处将子 Tile 插入到目标 Tile 中。
数据搬运 / 布局TINSERT_FP带 fp/缩放 Tile 的插入(向量量化参数)。
数据搬运 / 布局TFILLPAD复制 Tile 并在有效区域外使用编译时填充值进行填充。
数据搬运 / 布局TFILLPAD_INPLACE原地填充/填充变体。
数据搬运 / 布局TFILLPAD_EXPAND填充/填充时允许目标大于源。
数据搬运 / 布局TMOV在 Tile 之间移动/复制,可选应用实现定义的转换模式。
数据搬运 / 布局TMOV_FP使用缩放 (fp) Tile 作为向量量化参数,将累加器 Tile 移动/转换到目标 Tile。
数据搬运 / 布局TRESHAPE将 Tile 重新解释为另一种 Tile 类型/形状,同时保留底层字节。
数据搬运 / 布局TTRANS使用实现定义的临时 Tile 进行转置。
数据搬运 / 布局TSUBVIEW表达一个tile是另一个tile的subview
数据搬运 / 布局TGET_SCALE_ADDR将输出tile的片上内存值绑定为扩展后的输入tile内存的值。
复杂指令TPRINT调试/打印 Tile 中的元素(实现定义)。
复杂指令TMRGSORT用于多个已排序列表的归并排序(实现定义的元素格式和布局)。
复杂指令TSORT32src的每个 32 元素块连同对应的idx条目一起排序,并输出排序后的 value-index 对。
复杂指令TGATHER使用索引 Tile 或编译时掩码模式来收集/选择元素。
复杂指令TCI生成连续整数序列到目标 Tile 中。
复杂指令TTRI生成三角(下/上)掩码 Tile。
复杂指令TRANDOM使用基于计数器的密码算法在目标 Tile 中生成随机数。
复杂指令TPARTADD部分逐元素加法,对不匹配的有效区域具有实现定义的处理方式。
复杂指令TPARTMUL部分逐元素乘法,对有效区域不一致的处理为实现定义。
复杂指令TPARTMAX部分逐元素最大值,对不匹配的有效区域具有实现定义的处理方式。
复杂指令TPARTMIN部分逐元素最小值,对不匹配的有效区域具有实现定义的处理方式。
复杂指令TPARTARGMAX部分逐元素最大值选择并返回对应索引(argmax),对不匹配的有效区域具有实现定义的处理方式。
复杂指令TPARTARGMIN部分逐元素最小值选择并返回对应索引(argmin),对不匹配的有效区域具有实现定义的处理方式。
复杂指令TGATHERB使用字节偏移量收集元素。
复杂指令TSCATTER使用逐元素行索引将源 Tile 的行散播到目标 Tile 中。
复杂指令TQUANT量化 Tile(例如 FP32 到 FP8),生成指数/缩放/最大值输出。
通信TPUT远程写:将本地数据传输到远端 NPU 内存(GM → UB → GM)。
通信TGET远程读:将远端 NPU 数据读取到本地内存(GM → UB → GM)。
通信TPUT_ASYNC异步远程写(本地 GM → DMA 引擎 → 远端 GM)。
通信TGET_ASYNC异步远程读(远端 GM → DMA 引擎 → 本地 GM)。
通信TNOTIFY向远端 NPU 发送标志通知。
通信TWAIT阻塞等待,直到信号满足比较条件。
通信TTEST非阻塞检测信号是否满足比较条件。
通信TGATHER从所有 rank 收集数据并沿 DIM_3 拼接。
通信TSCATTER将数据沿 DIM_3 拆分并分发到所有 rank。
通信TREDUCE从所有 rank 收集数据并逐元素归约到本地。
通信TBROADCAST将当前 NPU 的数据广播到所有 rank。

【免费下载链接】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/784044/

相关文章:

  • 浙传星光班2026招生详解——公办资质护航,解锁传媒职业新可能 - 奔跑123
  • CANN/hccl HCCL集合通信算法简介
  • 国内信号隔离器十大优选品牌,低漂移高可靠 - 仪表人叶工
  • 原神FPS解锁器:2025终极免费教程,轻松突破60帧限制!
  • 文章AIGC率过高怎么办,手动降AI攻略+3款热门工具实测对比 - 殷念写论文
  • 晋中手机号定向推广系统2026年完全指南:如何精准锁定本地高意向客户 - 优质企业观察收录
  • TCW2-282+巴伦国产替代
  • 2026年晋中手机号定向推广与企业精准获客深度破局指南 - 优质企业观察收录
  • 别被‘瞬态’骗了!深入拆解Fluent伪瞬态计算的底层逻辑与适用边界
  • CANN/ops-transformer融合推理注意力分数算子
  • 2026年重庆职称评审机构最新推荐:重庆锦博教育、重庆清晖教育,专注职称申报咨询,助力人才职业晋升 - 海棠依旧大
  • 从ResNet到FPN:拆解RetinaNet的骨干网络,为什么它比YOLOv3更准?
  • 东南亚名义雇主服务商研究与国内名义雇主排名分析 - 万领钧KnitPeople
  • 多模型集成AI智能体 OpenClaw 办公自动化部署方法
  • 西安印刷厂怎么选?松林森彩印vs传统工厂:交期、品质、价格全维度横评 - 企业名录优选推荐
  • 2026年商城小程序服务商排名:5月推荐榜单必看! - FaiscoJeff
  • Vim-ai插件:在Vim中集成AI编程助手,实现代码生成与重构
  • 2026年服装定制厂家口碑推荐榜:西服定制、夹克定制、西裤定制、衬衫定制、大衣定制、旗袍定制、进口面料服装定制、服装团队定制厂家选择指南 - 海棠依旧大
  • 晋中手机号定向推广系统测评:2026年本地实体门店引流的最优方案 - 优质企业观察收录
  • 浙江外国语学院韩国留学招生简章|3+2 国际本科,零语言可报,高性价比留学 - 奔跑123
  • CANN/tensorflow TF Adapter 1.x API参考
  • 等保二级防护标准建设方案
  • CANN/ops-nn硬Sigmoid算子
  • 2026年上海云呼叫中心系统推荐:附功能对比 - 品牌2025
  • Android图片流UI优化实战:手把手教你用Palette实现动态沉浸式状态栏与标题栏
  • HDMI 1.4技术解析:以太网与音频回传的创新设计
  • AI辅助开发框架:从问题类别到工业级系统的设计与管理
  • 2026年南京物流搬家标杆服务商参考:南京睿航物流,覆盖搬家、运输、货运全场景,以专业服务守护物品安全流转 - 海棠依旧大
  • 【计算机毕业设计】基于springboot的公交线路查询系统设计与实现+LW
  • 告别盲猜内存大小:手把手对比NVMe中PRP与SGL的配置与性能影响