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

CANN/pto-isa轴归约与扩展操作

Axis Reduce / Expand

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

This document describes row/column reduction and broadcast operations.

Total Operations:25


Operations

TROWSUM

For detailed instruction documentation, see isa/TROWSUM

AS Level 1 (SSA):

%dst = pto.trowsum %src, %tmp : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowsum ins(%src, %tmp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLSUM

For detailed instruction documentation, see isa/TCOLSUM

AS Level 1 (SSA):

%dst = pto.tcolsum %src : !pto.tile<...> -> !pto.tile<...> %dst = pto.tcolsum %src, %tmp {isBinary = false} : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolsum ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>) pto.tcolsum ins(%src, %tmp {isBinary = false} : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLPROD

For detailed instruction documentation, see isa/TCOLPROD

AS Level 1 (SSA):

%dst = pto.tcolprod %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolprod ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLMAX

For detailed instruction documentation, see isa/TCOLMAX

AS Level 1 (SSA):

%dst = pto.tcolmax %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolmax ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWMAX

For detailed instruction documentation, see isa/TROWMAX

AS Level 1 (SSA):

%dst = pto.trowmax %src, %tmp : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowmax ins(%src, %tmp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWMIN

For detailed instruction documentation, see isa/TROWMIN

AS Level 1 (SSA):

%dst = pto.trowmin %src, %tmp : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowmin ins(%src, %tmp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPAND

For detailed instruction documentation, see isa/TROWEXPAND

AS Level 1 (SSA):

%dst = pto.trowexpand %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowexpand ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDDIV

For detailed instruction documentation, see isa/TROWEXPANDDIV

AS Level 1 (SSA):

%dst = pto.tcolexpanddiv %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpanddiv ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDMUL

For detailed instruction documentation, see isa/TROWEXPANDMUL

AS Level 1 (SSA):

%dst = pto.tcolexpandmul %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandmul ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDSUB

For detailed instruction documentation, see isa/TROWEXPANDSUB

AS Level 1 (SSA):

%dst = pto.tcolexpandsub %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandsub ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDADD

For detailed instruction documentation, see isa/TROWEXPANDADD

AS Level 1 (SSA):

%dst = pto.trowexpandadd %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowexpandadd ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDMAX

For detailed instruction documentation, see isa/TROWEXPANDMAX

AS Level 1 (SSA):

%dst = pto.trowexpandmax %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowexpandmax ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDMIN

For detailed instruction documentation, see isa/TROWEXPANDMIN

AS Level 1 (SSA):

%dst = pto.trowexpandmin %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowexpandmin ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWEXPANDEXPDIF

For detailed instruction documentation, see isa/TROWEXPANDEXPDIF

AS Level 1 (SSA):

%dst = pto.trowexpandexpdif %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowexpandexpdif ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLMIN

For detailed instruction documentation, see isa/TCOLMIN

AS Level 1 (SSA):

%dst = pto.tcolmin %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolmin ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPAND

For detailed instruction documentation, see isa/TCOLEXPAND

AS Level 1 (SSA):

%dst = pto.tcolexpand %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpand ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDDIV

For detailed instruction documentation, see isa/TCOLEXPANDDIV

AS Level 1 (SSA):

%dst = pto.tcolexpanddiv %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpanddiv ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDMUL

For detailed instruction documentation, see isa/TCOLEXPANDMUL

AS Level 1 (SSA):

%dst = pto.tcolexpandmul %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandmul ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDADD

For detailed instruction documentation, see isa/TCOLEXPANDADD

AS Level 1 (SSA):

%dst = pto.tcolexpandadd %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandadd ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDMAX

For detailed instruction documentation, see isa/TCOLEXPANDMAX

AS Level 1 (SSA):

%dst = pto.tcolexpandmax %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandmax ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDMIN

For detailed instruction documentation, see isa/TCOLEXPANDMIN

AS Level 1 (SSA):

%dst = pto.tcolexpandmin %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandmin ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDSUB

For detailed instruction documentation, see isa/TCOLEXPANDSUB

AS Level 1 (SSA):

%dst = pto.tcolexpandsub %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandsub ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TCOLEXPANDEXPDIF

For detailed instruction documentation, see isa/TCOLEXPANDEXPDIF

AS Level 1 (SSA):

%dst = pto.tcolexpandexpdif %src0, %src1 : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tcolexpandexpdif ins(%src0, %src1 : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TROWPROD

For detailed instruction documentation, see isa/TROWPROD

AS Level 1 (SSA):

%dst = pto.trowprod %src, %tmp : (!pto.tile<...>, !pto.tile<...>) -> !pto.tile<...>

AS Level 2 (DPS):

pto.trowprod ins(%src, %tmp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

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

相关文章:

  • 2026年4月水蜡实力厂家如何选,高压洗车机/全自动智能洗车设备/全自动高压洗车机/无接触洗车机,水蜡制造企业推荐 - 品牌推荐师
  • “9秒删库”事件刷屏!AI是凶手,但枪是你自己递的
  • HarmonyOS 6 ArkUI 粒子动画(Particle)动态发射器控制使用文档
  • MRAM技术解析:非易失性存储器的原理与应用
  • CANN/asc-devkit内存分配API文档
  • CANN/AMCT Quantile量化
  • Hermes Agent工具链接入Taotoken聚合API的配置指南
  • GE图引擎资源变更通知API
  • 美团大模型二面:你的RAG知识库更新策略是怎样的?
  • CANN/ops-cv一维上采样反向算子
  • CANN电力仿真张量求和优化
  • 2026年4月市面上靠谱的铁氟龙排线厂商推荐,柔软度好,方便施工操作 - 品牌推荐师
  • 电液控制装置控制器4K型护套连接器
  • 企业如何利用Taotoken统一管理多个AI模型API密钥与用量
  • CANN框架适配SIG
  • 自贡智能家居装修预算怎么控制?悦阳装饰全案整装透明报价体系解析 - 优质企业观察收录
  • cann/catlass Ascend950全解量化矩阵乘
  • 电子元器件焊接调试实战经验总结
  • Switch大气层系统深度配置:从零构建你的个性化游戏环境
  • 求推荐芜湖靠谱的装修公司?来看我的真实体验
  • CANN/metadef获取算子属性值接口
  • 2026自贡装修公司全案对标:从毛坯到拎包入住的一站式整装避坑指南 - 优质企业观察收录
  • 【研报 A104】AI康养深度研究报告:从辅助诊疗,到全周期照护操作系统
  • 如何借助Taotoken用量看板精准分析并优化团队的AI调用成本
  • AI医疗实战:构建鲁棒性青光眼筛查模型的多任务学习与部署策略
  • CANN算子测试总决赛
  • CANN/HCOMM线程读取归约操作
  • CANN Add算子Kernel执行样例
  • CANN/cann-recipes-infer:Kimi-K2-Thinking NPU推理
  • IT疑难杂症诊疗室:从蓝屏到勒索软件全攻略