跳转至

PTOAS Op 状态矩阵

行 = 最新 PTOAS 提供的公共及兼容 op。接口基线为 Little-oil/PTOAS main d852dd2dba3e5bf7a69ce8324eb88afc336e8a33:manual 公共接口 189 个,加当前 PTOOps.td 仍保留的 source-only 兼容/tile 接口 15 个,共 204 个。列状态按 PyPTO 当前源码核实(最后更新 2026-07-27)。后续每加或修改一个 op,只更新本表对应行。

本表包含公共/兼容接口中 PyPTO 级别为 internal 的 op;另有 PTOOps.td 中 32 个仅供 lowering/compiler plumbing 使用的额外内部 op 未纳入,也不列 VPTO、VMI、SIMT 等其他 dialect。

完成判定原则

一个 op 是否完成,以最终是否有同名 ST 为准。

  • pypto 前端✅ + ST❌:未完成;前端或 codegen 已存在,但没有真机同名覆盖。
  • ST✅:活跃 tests/st/ 测试最终生成并执行同名 pto.* op。
  • ST✅ 只表示已经具备真机同名执行证据;尚未真机验证的其他架构继续在备注中记录。
  • ST—:内部原语、编译期辅助或已替代接口,不适合独立 ST;由 codegen/集成测试覆盖。
  • 高层测试若最终生成其他 PTO op,不算同名覆盖。例如 collective 被拆成 tput/tget/tnotify/twait,不能计为 tbroadcast/tgather/tscatter/treduce 的 ST。

图例

  • 级别:PyPTO 注册/生成层级(tile / tensor / tile+tensor / comm / internal)。
  • PTOAS接口:✅ = 最新 PTOAS main 提供该 canonical op。
  • pypto-tile / -tensor 前端:✅ = 已有对应公共前端;❌ = 未添加; = 内部或 comm,不适用。
  • ST测试:非 comm op 的同名 ST 状态;comm 见下一列。
  • distributed ST测试:comm op 的同名分布式 ST 状态;非 comm 为
  • 备注:只记录当前添加/覆盖事实和直接阻塞,不记录未来实施顺序。
PTOAS op (pto.*) pto-isa API 级别 PTOAS接口 pypto-tile前端 pypto-tensor前端 ST测试 distributed ST测试 备注
指针 / View(13)
pto.ptrtoint internal 编译期/分配辅助,不独立建 ST
pto.inttoptr internal 编译期/分配辅助,不独立建 ST
pto.addptr internal compiler/system lowering 自动发射
pto.castptr internal 编译期/分配辅助,不独立建 ST
pto.make_tensor_view tensor tensor.view 发射
pto.get_tensor_view_dim internal 编译期/分配辅助,不独立建 ST
pto.get_tensor_view_stride internal 编译期/分配辅助,不独立建 ST
pto.partition_view internal compiler/system lowering 自动发射
pto.alloc_tile internal compiler/system lowering 自动发射
pto.alloc_multi_tile internal 编译期/分配辅助,不独立建 ST
pto.multi_tile_get internal 编译期/分配辅助,不独立建 ST
pto.subview tile+tensor
pto.set_validshape .SetValidShape tile+tensor
Buffer-ID(2)
pto.get_buf get_buf internal 编译期/分配辅助,不独立建 ST
pto.rls_buf rls_buf internal 编译期/分配辅助,不独立建 ST
DMA 数据搬运(10)
pto.tload TLOAD tile
pto.tprefetch TPREFETCH tile MISSING:缺完整前端/codegen/ST 链路
pto.tprefetch_async TPREFETCH_ASYNC tile MISSING:缺完整前端/codegen/ST 链路
pto.make_prefetch_async_context pto::PrefetchAsyncContext internal 随 async prefetch 集成验证
pto.get_prefetch_async_session .session internal 随 async prefetch 集成验证
pto.tstore TSTORE tile
pto.load_scalar direct pointer load tensor tensor.read 发射
pto.store_scalar direct pointer store tensor tensor.write 发射
pto.tmov TMOV / TMOV_FP tile
pto.ttrans TTRANS tile+tensor
矩阵计算(12)
pto.tmatmul TMATMUL tile+tensor
pto.tmatmul.acc TMATMUL_ACC tile+tensor
pto.tmatmul.bias TMATMUL_BIAS tile
pto.tmatmul.mx TMATMUL_MX tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.tmatmul.mx.acc TMATMUL_MX (overload) tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.tmatmul.mx.bias TMATMUL_MX (overload) tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.tgemv TGEMV tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tgemv.acc TGEMV_ACC tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tgemv.bias TGEMV_BIAS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tgemv.mx TGEMV_MX tile MISSING:缺完整前端/codegen/ST 链路
pto.tgemv.mx.acc TGEMV_MX (overload) tile MISSING:缺完整前端/codegen/ST 链路
pto.tgemv.mx.bias TGEMV_MX (overload) tile MISSING:缺完整前端/codegen/ST 链路
向量算术与数学(42)
pto.tadd TADD tile+tensor
pto.tsub TSUB tile+tensor
pto.tmul TMUL tile+tensor
pto.tdiv TDIV tile+tensor A2/A3 真机已验证;A5 真机待验证
pto.tmax TMAX tile+tensor
pto.tmin TMIN tile+tensor
pto.trem TREM tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tpartadd TPARTADD tile+tensor
pto.tpartmax TPARTMAX tile+tensor
pto.tpartmin TPARTMIN tile+tensor
pto.tpartargmax TPARTARGMAX tile MISSING:缺完整前端/codegen/ST 链路
pto.tpartargmin TPARTARGMIN tile MISSING:缺完整前端/codegen/ST 链路
pto.tpartmul TPARTMUL tile+tensor
pto.tprelu TPRELU tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tadds TADDS tile+tensor
pto.tsubs TSUBS tile+tensor A2/A3 真机已验证;A5 真机待验证
pto.tmuls TMULS tile+tensor
pto.taxpy TAXPY tile MISSING:缺完整前端/codegen/ST 链路
pto.tdivs TDIVS tile+tensor
pto.tmaxs TMAXS tile
pto.tmins TMINS tile
pto.trems TREMS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.taddc TADD + TADD tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tsubc TSUB + TADD tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.taddsc TADDS + TADD tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tsubsc TSUBS + TADD tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tabs TABS tile+tensor
pto.tneg TNEG tile+tensor
pto.texp TEXP tile+tensor
pto.tlog TLOG tile+tensor A2/A3 真机已验证;A5 真机待验证
pto.tsqrt TSQRT tile+tensor
pto.ttri TTRI tile MISSING:缺完整前端/codegen/ST 链路
pto.trsqrt TRSQRT tile+tensor
pto.trecip TRECIP tile+tensor
pto.trelu TRELU tile
pto.tlrelu TLRELU tile
pto.taddrelu VADDRELU tile MISSING:缺完整前端/codegen/ST 链路
pto.tfmod TFMOD tile+tensor 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tfmods TFMODS tile+tensor 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tpow TPOW tile MISSING:缺完整前端/codegen/ST 链路
pto.tpows TPOWS tile MISSING:缺完整前端/codegen/ST 链路
pto.trandom TRANDOM tile+tensor PTOAS source-only 兼容接口
归约(13)
pto.trowsum TROWSUM tile+tensor
pto.trowmax TROWMAX tile+tensor
pto.trowargmax TROWARGMAX tile+tensor
pto.trowmin TROWMIN tile+tensor A2/A3 真机已验证;A5 真机待验证
pto.trowargmin TROWARGMIN tile+tensor
pto.trowprod TROWPROD tile+tensor
pto.thistogram THISTOGRAM tile MISSING:缺完整前端/codegen/ST 链路
pto.tcolsum TCOLSUM tile+tensor
pto.tcolmax TCOLMAX tile+tensor
pto.tcolargmax TCOLARGMAX tile+tensor
pto.tcolmin TCOLMIN tile+tensor
pto.tcolargmin TCOLARGMIN tile+tensor
pto.tcolprod TCOLPROD tile+tensor PTOAS source-only 兼容接口
广播(17)
pto.trowexpand TROWEXPAND tile+tensor
pto.tcolexpand TCOLEXPAND tile+tensor
pto.tcolexpandmul TCOLEXPANDMUL tile+tensor
pto.tcolexpandadd TCOLEXPANDADD tile+tensor
pto.tcolexpanddiv TCOLEXPANDDIV tile+tensor
pto.tcolexpandsub TCOLEXPANDSUB tile+tensor
pto.tcolexpandexpdif TCOLEXPANDEXPDIF tile+tensor
pto.tcolexpandmax TCOLEXPANDMAX tile+tensor
pto.tcolexpandmin TCOLEXPANDMIN tile+tensor
pto.trowexpandmul TROWEXPANDMUL tile+tensor
pto.trowexpanddiv TROWEXPANDDIV tile+tensor
pto.trowexpandsub TROWEXPANDSUB tile+tensor
pto.trowexpandadd TROWEXPANDADD tile+tensor A2/A3 真机已验证;A5 真机待验证
pto.trowexpandexpdif TROWEXPANDEXPDIF tile+tensor
pto.trowexpandmax TROWEXPANDMAX tile+tensor
pto.trowexpandmin TROWEXPANDMIN tile+tensor
pto.texpands TEXPANDS tile+tensor
比较与选择(4)
pto.tcmp TCMP tile+tensor
pto.tcmps TCMPS tile
pto.tsel TSEL tile
pto.tsels TSELS tile 前端/codegen 已有,缺同名 ST
位运算(11)
pto.tand TAND tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tor TOR tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.txor TXOR tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tshl TSHL tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tshr TSHR tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tnot TNOT tile
pto.tands TANDS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tors TORS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.txors TXORS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tshls TSHLS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
pto.tshrs TSHRS tile 已有链路;历史 ISA/语义问题,需按当前 pin 复验
数据重排(15)
pto.tconcat TCONCAT tile+tensor
pto.tconcatidx TCONCAT (indexed) tile MISSING:缺完整前端/codegen/ST 链路
pto.tgather TGATHER tile+tensor
pto.tgatherb TGATHERB tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.tscatter TSCATTER tile+tensor
pto.mgather MGATHER tile 当前 backend 发旧名 pto.tmgather
pto.mscatter MSCATTER tile
pto.treshape TRESHAPE tile+tensor
pto.tinsert TINSERT tile tile.assemble / auto matmul lowering 发射
pto.textract TEXTRACT tile
pto.tfillpad TFILLPAD tile+tensor
pto.tfillpad_expand TFILLPAD_EXPAND tile+tensor
pto.tfillpad_inplace TFILLPAD_INPLACE tile 当前 codegen 发 pto.tfillpad
pto.textract_fp TEXTRACT_FP / TEXTRACT tile MISSING:缺完整前端/codegen/ST 链路
pto.tinsert_fp TINSERT_FP / TINSERT tile MISSING:缺完整前端/codegen/ST 链路
排序(2)
pto.tsort32 TSORT32 tile+tensor
pto.tmrgsort TMRGSORT tile+tensor
类型转换(1)
pto.tcvt TCVT tile+tensor
整数序列(1)
pto.tci TCI tile+tensor
标量元素访问(2)
pto.tgetval .GetValue tile tile.read 发射
pto.tsetval .SetValue tile tile.write 发射
MX 量化(6)
pto.tget_scale_addr GetScaleAddr + TASSIGN tile MISSING:缺完整前端/codegen/ST 链路
pto.tmov.fp TMOV_FP tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.tquant TQUANT tile MISSING:缺完整前端/codegen/ST 链路
pto.tquant.mx TQUANT (overload) tile MISSING:缺完整前端/codegen/ST 链路
pto.tstore_fp TSTORE_FP tile 当前 backend 发 pto.tstore.fp
pto.tdequant TDEQUANT tile MISSING:缺完整前端/codegen/ST 链路
同步(8)
pto.barrier pipe_barrier / dsb internal compiler/system lowering 自动发射
pto.barrier_sync barrier lowering internal 同步/调度内部原语,不独立建 ST
pto.record_event set_flag lowering internal 同步/调度内部原语,不独立建 ST
pto.wait_event wait_flag lowering internal 同步/调度内部原语,不独立建 ST
pto.syncall SYNCALL internal compiler/system lowering 自动发射
pto.sync.set set_intra_block / FFTS internal compiler/system lowering 自动发射
pto.sync.wait wait_intra_block / wait_flag_dev internal compiler/system lowering 自动发射
pto.tsync TSYNC internal 同步/调度内部原语,不独立建 ST
Core Virtualization(2)
pto.section.cube internal 同步/调度内部原语,不独立建 ST
pto.section.vector internal 同步/调度内部原语,不独立建 ST
Frontend Pipe(15)
pto.reserve_buffer internal compiler/system lowering 自动发射
pto.import_reserved_buffer internal compiler/system lowering 自动发射
pto.aic_initialize_pipe TPipe / internal init internal compiler/system lowering 自动发射
pto.aiv_initialize_pipe TPipe / internal init internal compiler/system lowering 自动发射
pto.talloc_to_aiv TALLOC internal 由 pipe 生命周期集成覆盖
pto.talloc_to_aic TALLOC internal 由 pipe 生命周期集成覆盖
pto.tpush_to_aiv TPUSH tile
pto.tpush_to_aic TPUSH tile
pto.tpop_from_aic TPOP tile
pto.tpop_from_aiv TPOP tile
pto.tfree_from_aic TFREE internal compiler/system lowering 自动发射
pto.tfree_from_aiv TFREE internal compiler/system lowering 自动发射
pto.tpush TPUSH internal legacy;由带方向接口替代
pto.tpop TPOP internal legacy;由带方向接口替代
pto.tfree TFREE internal legacy;由带方向接口替代
Runtime Intrinsics(4)
pto.get_block_idx get_block_idx tile+tensor codegen 转为 wrapper 参数,不发同名 PTO op
pto.get_subblock_idx get_subblockid tile+tensor codegen 转为 wrapper 参数,不发同名 PTO op
pto.get_block_num get_block_num tile+tensor codegen 转为 wrapper 参数,不发同名 PTO op
pto.get_subblock_num get_subblockdim internal codegen 转为 wrapper 参数,不发同名 PTO op
调试(3)
pto.tprint TPRINT tile 已有 backend hook,缺 IR/Python 前端与 ST
pto.print cce::printf internal 内部/调试辅助,不独立建 ST
pto.trap trap internal 内部/调试辅助,不独立建 ST
通信(14)
pto.comm.build_async_session pto::comm::BuildAsyncSession comm 分布式接口未完成同名 ST
pto.comm.tput_async TPUT_ASYNC comm 分布式接口未完成同名 ST
pto.comm.tget_async TGET_ASYNC comm 分布式接口未完成同名 ST
pto.comm.wait_async_event AsyncEvent.Wait comm 分布式接口未完成同名 ST
pto.comm.test_async_event AsyncEvent.Test comm 分布式接口未完成同名 ST
pto.comm.tput TPUT comm test_l3_put / remote_store
pto.comm.tget TGET comm test_l3_get
pto.comm.tnotify TNOTIFY comm test_l3_notify_wait
pto.comm.twait TWAIT comm test_l3_notify_wait
pto.comm.ttest TTEST comm 分布式接口未完成同名 ST
pto.comm.tbroadcast TBROADCAST comm 高层测试会分解,当前无同名 PTO ST
pto.comm.tgather TGATHER comm 高层测试会分解,当前无同名 PTO ST
pto.comm.tscatter TSCATTER comm 高层测试会分解,当前无同名 PTO ST
pto.comm.treduce TREDUCE comm 高层测试会分解,当前无同名 PTO ST
栈局部 Array / Struct(6)
pto.declare_local_array internal compiler/system lowering 自动发射
pto.local_array_get internal compiler/system lowering 自动发射
pto.local_array_set internal compiler/system lowering 自动发射
pto.declare_struct internal 内部/调试辅助,不独立建 ST
pto.struct_get internal 内部/调试辅助,不独立建 ST
pto.struct_set internal 内部/调试辅助,不独立建 ST
源码兼容 / 手动模式(1)
pto.tassign TASSIGN internal 失活 backend hook,不独立建 ST

统计:共 204 个 PTOAS 公共/兼容 op;pypto tile 前端 113 个,tensor 前端 75 个; 同名 ST 覆盖 110 个(普通 ST 106,distributed ST 4);无同名 ST 62 个 (普通 52,distributed 10);这 204 个中另有 32 个 op 不适合独立 ST。