PTO AS 操作参考

本目录包含 PTO AS 操作的全面文档,涵盖 ISA 级别的 tile 操作和 PTO Level-1 及 Level-2 中间表示中使用的辅助 IR 构造。


概述

PTO AS 提供 116 个 tile 操作11 个辅助函数47 个标量算术操作7 个控制流操作

每个操作都记录有: - AS Level 1 (SSA):静态单赋值形式 - AS Level 2 (DPS):目标传递风格 - 数学语义:形式化数学解释 - 约束:类型、布局和运行时要求


辅助函数(11 个函数)

文档辅助函数

用于张量视图管理、tile 分配和同步的 IR 级构造:

  • 张量视图make_tensor_viewpartition_view
  • Tile 管理alloc_tiletgetvaltsetval
  • 索引get_block_idxget_subblock_idxget_block_numget_subblock_num
  • 指针运算addptr
  • 同步record_eventwait_eventbarrierPIPE_BARRIER

Tile 操作(116 个操作)

逐元素操作(Tile-Tile)- 28 个操作

文档逐元素操作

  • 算术TADDTSUBTMULTDIVTABSTNEG
  • 位运算TANDTORTXORTNOTTSHLTSHR
  • 比较TCMPTMINTMAX
  • 数学TLOGTEXPTSQRTTRSQRTTRECIP
  • 激活TRELUTPRELU
  • 类型转换TCVT
  • 条件TSEL
  • 复合TADDCTSUBC
  • 取模TREMTFMOD

Tile-标量操作 - 19 个操作

文档Tile-标量操作

  • 算术TADDSTSUBSTMULSTDIVSTMINSTMAXS
  • 位运算TANDSTORSTXORSTSHLSTSHRS
  • 取模TREMSTFMODS
  • 广播TEXPANDS
  • 比较TCMPS
  • 条件TSELS
  • 激活TLRELU
  • 复合TADDSCTSUBSC

轴归约和扩展 - 23 个操作

文档轴归约和扩展

  • 行归约TROWSUMTROWMAXTROWMIN
  • 列归约TCOLSUMTCOLMAXTCOLMINTCOLPROD
  • 行扩展TROWEXPANDTROWEXPANDADDTROWEXPANDMULTROWEXPANDDIVTROWEXPANDSUBTROWEXPANDMAXTROWEXPANDMINTROWEXPANDEXPDIF
  • 列扩展TCOLEXPANDTCOLEXPANDADDTCOLEXPANDMULTCOLEXPANDDIVTCOLEXPANDSUBTCOLEXPANDMAXTCOLEXPANDMINTCOLEXPANDEXPDIF

内存操作 - 6 个操作

文档内存操作

  • 加载/存储TLOADTSTORETSTORE_FPTPREFETCH
  • 收集/分散MGATHERMSCATTER

矩阵乘法 - 8 个操作

文档矩阵乘法

  • 基础TMATMULTMATMUL_ACCTMATMUL_BIAS
  • 混合精度TMATMUL_MX
  • 向量TGEMVTGEMV_ACCTGEMV_BIASTGEMV_MX

数据移动和布局 - 12 个操作

文档数据移动和布局

  • 提取/插入TEXTRACTTEXTRACT_FPTINSERTTINSERT_FP
  • 转换TTRANSTRESHAPETIMG2COL
  • 移动TMOVTMOV_FP
  • 填充TFILLPADTFILLPAD_INPLACETFILLPAD_EXPAND

复杂操作 - 13 个操作

文档复杂操作

  • 排序TSORT32TMRGSORT
  • 收集TGATHERTGATHERBTSCATTER
  • 部分操作TPARTADDTPARTMULTPARTMAXTPARTMIN
  • 实用工具TCITTRITQUANTTPRINT

手动资源绑定 - 6 个操作

文档手动资源绑定

  • 赋值TASSIGN
  • 模式配置TSETHF32MODETSETTF32MODETSETFMATRIX
  • IMG2COL 配置TSET_IMG2COL_RPTTSET_IMG2COL_PADDING

标量算术操作(47 个操作)

文档标量算术操作

来自 MLIR arith 方言的标准标量操作(仅标量,无向量/张量):

  • 整数算术addisubimulidivsidivuiremsiremuiceildivsiceildivuifloordivsi
  • 浮点算术addfsubfmulfdivfremfnegf
  • 位运算andiorixori
  • 移位shlishrsishrui
  • 比较cmpicmpf
  • 最小/最大minsiminuimaxsimaxuiminimumfmaximumfminnumfmaxnumf
  • 类型转换extsiextuitrunciextftruncfsitofpuitofpfptosifptouibitcastindex_castindex_castui
  • 特殊操作selectconstant
  • 扩展算术addui_extendedmulsi_extendedmului_extended

控制流操作(7 个操作)

文档控制流操作

来自 MLIR scf 方言的结构化控制流操作:

  • 循环scf.forscf.while
  • 条件scf.ifscf.index_switch
  • 区域scf.execute_region
  • 终止符scf.yieldscf.condition

相关资源