include/¶
PTO Tile Lib 对外的 C/C++ 头文件(以模板化、基本 header-only 为主)。上层框架/算子可以通过这些头文件生成 PTO ISA 的 Tile 指令序列。
快速开始¶
推荐直接 include 统一入口头:
#include <pto/pto-inst.hpp>
pto/pto-inst.hpp 会根据构建配置选择合适的后端(CPU 仿真/stub 或 NPU 实现)。详情见 include/pto/README_zh.md。
目录结构¶
include/pto/:公共 PTO ISA API 与后端实现(common / cpu / npu / comm)
相关文档¶
PTO 指令实现状态(CPU / Costmodel / A2 / A3 / A5 / Kirin)¶
下表用于跟踪每条指令在不同后端的可用性:
- CPU:
__CPU_SIM(CPU 仿真后端)。 - Costmodel:
__COSTMODEL(A2 / A3 性能仿真后端,包含stub与fit两条路径;任一路径支持即记为支持)。 - A2(Ascend 910B)/ A3(Ascend 910C):当前共享
include/pto/npu/a2a3/的实现(因此两列状态相同)。 - A5(Ascend 950):使用
include/pto/npu/a5/的实现。 - Kirin:使用
include/pto/npu/kirin9030/的实现。
| 指令 | CPU | Costmodel | A2 | A3 | A5 | Kirin |
|---|---|---|---|---|---|---|
MGATHER |
是 | TODO | TODO | TODO | 是 | TODO |
MSCATTER |
是 | TODO | TODO | TODO | 是 | TODO |
TABS |
是 | 是 | 是 | 是 | 是 | 是 |
TADD |
是 | 是 | 是 | 是 | 是 | 是 |
TADDC |
是 | TODO | TODO | TODO | TODO | TODO |
TADDS |
是 | 是 | 是 | 是 | 是 | 是 |
TADDSC |
是 | TODO | TODO | TODO | TODO | TODO |
TAND |
是 | TODO | 是 | 是 | 是 | 是 |
TANDS |
是 | TODO | 是 | 是 | 是 | 是 |
TASSIGN |
是 | TODO | 是 | 是 | 是 | 是 |
TAXPY |
TODO | TODO | 是 | 是 | 是 | TODO |
TBROADCAST |
是 | TODO | 是 | 是 | 是 | TODO |
TCI |
是 | TODO | 是 | 是 | 是 | 是 |
TCMP |
是 | 是 | 是 | 是 | 是 | 是 |
TCMPS |
是 | TODO | 是 | 是 | 是 | 是 |
TCOLARGMAX |
TODO | TODO | 是 | 是 | 是 | 是 |
TCOLARGMIN |
TODO | TODO | 是 | 是 | 是 | 是 |
TCOLEXPAND |
是 | TODO | 是 | 是 | 是 | 是 |
TCOLEXPANDADD |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDDIV |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDEXPDIF |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDMAX |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDMIN |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDMUL |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLEXPANDSUB |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLMAX |
是 | 是 | 是 | 是 | 是 | 是 |
TCOLMIN |
是 | 是 | 是 | 是 | 是 | 是 |
TCOLPROD |
TODO | TODO | 是 | 是 | 是 | TODO |
TCOLSUM |
是 | 是 | 是 | 是 | 是 | TODO |
TConcat |
TODO | TODO | TODO | TODO | 是 | TODO |
TCVT |
是 | 是 | 是 | 是 | 是 | TODO |
TDIV |
是 | 是 | 是 | 是 | 是 | 是 |
TDIVS |
是 | 是 | 是 | 是 | 是 | 是 |
TEXP |
是 | 是 | 是 | 是 | 是 | 是 |
TEXPANDS |
是 | TODO | 是 | 是 | 是 | 是 |
TEXTRACT |
是 | 是 | 是 | 是 | 是 | 是 |
TEXTRACT_FP |
TODO | TODO | 是 | 是 | 是 | 是 |
TFILLPAD |
是 | TODO | 是 | 是 | 是 | 是 |
TFILLPAD_EXPAND |
TODO | TODO | 是 | 是 | 是 | 是 |
TFILLPAD_INPLACE |
TODO | TODO | 是 | 是 | 是 | 是 |
TFMOD |
TODO | TODO | 是 | 是 | 是 | TODO |
TFMODS |
TODO | TODO | 是 | 是 | 是 | TODO |
TGATHER |
是 | 是 | 是 | 是 | 是 | 是 |
TGATHERB |
是 | TODO | 是 | 是 | 是 | 是 |
TGEMV |
TODO | TODO | 是 | 是 | 是 | 是 |
TGEMV_ACC |
TODO | TODO | 是 | 是 | 是 | 是 |
TGEMV_BIAS |
TODO | TODO | 是 | 是 | 是 | 是 |
TGEMV_MX |
TODO | TODO | TODO | TODO | 是 | TODO |
TGET |
是 | TODO | 是 | 是 | 是 | TODO |
TGET_ASYNC |
是 | TODO | 是 | 是 | 是 | TODO |
TGET_SCALE_ADDR |
TODO | TODO | TODO | TODO | 是 | TODO |
TIMG2COL |
TODO | TODO | 是 | 是 | 是 | TODO |
TINSERT |
TODO | TODO | TODO | TODO | 是 | TODO |
TINSERT_FP |
TODO | TODO | 是 | 是 | 是 | 是 |
TLOAD |
是 | 是 | 是 | 是 | 是 | 是 |
TLOG |
是 | TODO | 是 | 是 | 是 | 是 |
TLRELU |
是 | TODO | 是 | 是 | 是 | 是 |
TMATMUL |
是 | 是 | 是 | 是 | 是 | 是 |
TMATMUL_ACC |
是 | TODO | 是 | 是 | 是 | 是 |
TMATMUL_BIAS |
是 | TODO | 是 | 是 | 是 | 是 |
TMATMUL_MX |
是 | TODO | TODO | TODO | 是 | 是 |
TMAX |
是 | 是 | 是 | 是 | 是 | 是 |
TMAXS |
是 | 是 | 是 | 是 | 是 | 是 |
TMIN |
是 | 是 | 是 | 是 | 是 | 是 |
TMINS |
是 | 是 | 是 | 是 | 是 | 是 |
TMOV |
是 | 是 | 是 | 是 | 是 | 是 |
TMOV_FP |
是 | TODO | 是 | 是 | 是 | 是 |
TMRGSORT |
是 | 是 | 是 | 是 | 是 | 是 |
TMUL |
是 | 是 | 是 | 是 | 是 | 是 |
TMULS |
是 | 是 | 是 | 是 | 是 | 是 |
TNEG |
是 | 是 | 是 | 是 | 是 | 是 |
TNOT |
是 | TODO | 是 | 是 | 是 | 是 |
TNOTIFY |
是 | TODO | 是 | 是 | 是 | TODO |
TOR |
是 | TODO | 是 | 是 | 是 | 是 |
TORS |
是 | TODO | 是 | 是 | 是 | 是 |
TPARTADD |
是 | TODO | 是 | 是 | 是 | 是 |
TPARTARGMAX |
TODO | TODO | TODO | TODO | 是 | TODO |
TPARTARGMIN |
TODO | TODO | TODO | TODO | 是 | TODO |
TPARTMAX |
是 | TODO | 是 | 是 | 是 | 是 |
TPARTMIN |
是 | TODO | 是 | 是 | 是 | 是 |
TPARTMUL |
否 | TODO | 是 | 是 | 是 | 是 |
TPREFETCH |
是 | TODO | 是 | 是 | 是 | 是 |
TPRELU |
是 | TODO | 是 | 是 | 是 | 是 |
TPRINT |
TODO | TODO | 是 | 是 | 是 | TODO |
TPOW |
是 | TODO | 是 | 是 | 是 | TODO |
TPUT |
是 | TODO | 是 | 是 | 是 | TODO |
TPUT_ASYNC |
是 | TODO | 是 | 是 | 是 | TODO |
TPOWS |
是 | TODO | 是 | 是 | 是 | TODO |
TQUANT |
TODO | TODO | TODO | TODO | 是 | TODO |
TRANDOM |
否 | TODO | TODO | TODO | 是 | TODO |
TRECIP |
是 | 是 | 是 | 是 | 是 | 是 |
TREDUCE |
是 | TODO | 是 | 是 | 是 | TODO |
TRELU |
是 | TODO | 是 | 是 | 是 | 是 |
TREM |
是 | TODO | 是 | 是 | 是 | 是 |
TREMS |
是 | TODO | 是 | 是 | 是 | 是 |
TRESHAPE |
是 | TODO | 是 | 是 | 是 | TODO |
TROWARGMAX |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWARGMIN |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWEXPAND |
是 | 是 | 是 | 是 | 是 | 是 |
TROWEXPANDADD |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDDIV |
是 | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDEXPDIF |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDMAX |
是 | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDMIN |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDMUL |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWEXPANDSUB |
是 | TODO | 是 | 是 | 是 | TODO |
TROWMAX |
是 | 是 | 是 | 是 | 是 | 是 |
TROWMIN |
是 | 是 | 是 | 是 | 是 | 是 |
TROWPROD |
TODO | TODO | 是 | 是 | 是 | TODO |
TROWSUM |
是 | 是 | 是 | 是 | 是 | 是 |
TRSQRT |
是 | 是 | 是 | 是 | 是 | 是 |
TSCATTER |
是 | 是 | 是 | 是 | 是 | 是 |
TSEL |
是 | 是 | 是 | 是 | 是 | 是 |
TSELS |
是 | 是 | 是 | 是 | 是 | 是 |
SETFMATRIX |
TODO | TODO | 是 | 是 | 是 | TODO |
SET_IMG2COL_PADDING |
TODO | TODO | 是 | 是 | 是 | TODO |
SET_IMG2COL_RPT |
TODO | TODO | 是 | 是 | 是 | TODO |
TSHL |
是 | TODO | 是 | 是 | 是 | 是 |
TSHLS |
是 | TODO | 是 | 是 | 是 | 是 |
TSHR |
是 | TODO | 是 | 是 | 是 | 是 |
TSHRS |
是 | TODO | 是 | 是 | 是 | 是 |
TSORT32 |
是 | 是 | 是 | 是 | 是 | 是 |
TSQRT |
是 | 是 | 是 | 是 | 是 | 是 |
TSTORE |
是 | 是 | 是 | 是 | 是 | TODO |
TSTORE_FP |
是 | TODO | 是 | 是 | 是 | 是 |
TSUB |
是 | 是 | 是 | 是 | 是 | 是 |
TSUBC |
是 | TODO | TODO | TODO | TODO | TODO |
TSUBS |
是 | 是 | 是 | 是 | 是 | 是 |
TSUBSC |
是 | TODO | TODO | TODO | TODO | TODO |
TSUBVIEW |
TODO | TODO | 是 | 是 | TODO | TODO |
TSYNC |
TODO | TODO | 是 | 是 | 是 | 是 |
TTEST |
是 | TODO | 是 | 是 | 是 | TODO |
TTRANS |
是 | 是 | 是 | 是 | 是 | 是 |
TTRI |
TODO | TODO | 是 | 是 | 是 | 是 |
TWAIT |
是 | TODO | 是 | 是 | 是 | TODO |
TXOR |
是 | TODO | 是 | 是 | 是 | 是 |
TXORS |
是 | TODO | 是 | 是 | 是 | 是 |
说明:
是:该后端已提供可用实现。TODO:该指令已进入公共 API 或文档范围,但对应后端实现暂未提供,或尚未在该后端接入。否:明确不支持或当前不计划在该后端提供实现。- 空白:状态尚未最终确认,或该项仍在整理中。