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)
相关文档¶
PTO 指令实现状态(CPU / Costmodel / A2 / A3 / A5)¶
下表用于跟踪每条指令在不同后端的可用性:
- CPU:
__CPU_SIM(CPU 仿真后端)。 - Costmodel:
__COSTMODEL(A2 / A3性能仿真后端)。 - A2(Ascend 910B)/ A3(Ascend 910C):当前共享
include/pto/npu/a2a3/的实现(因此两列状态相同)。 - A5(Ascend 950):使用
include/pto/npu/a5/的实现。 - TODO:表示该指令属于公共 API,但对应后端实现尚不可用。
| 指令 | CPU | Costmodel | A2 | A3 | A5 |
|---|---|---|---|---|---|
MGATHER |
是 | TODO | TODO | TODO | TODO |
MSCATTER |
是 | TODO | TODO | TODO | TODO |
TABS |
是 | 是 | 是 | 是 | 是 |
TADD |
是 | 是 | 是 | 是 | 是 |
TADDC |
是 | TODO | TODO | TODO | TODO |
TADDS |
是 | 是 | 是 | 是 | 是 |
TADDSC |
是 | TODO | TODO | TODO | TODO |
TAND |
是 | TODO | 是 | 是 | 是 |
TANDS |
是 | TODO | 是 | 是 | 是 |
TASSIGN |
是 | TODO | 是 | 是 | 是 |
TAXPY |
TODO | TODO | 是 | 是 | 是 |
TCI |
是 | TODO | 是 | 是 | 是 |
TCMP |
是 | TODO | 是 | 是 | 是 |
TCMPS |
是 | TODO | 是 | 是 | 是 |
TCOLEXPAND |
是 | TODO | TODO | TODO | TODO |
TCOLEXPANDADD |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDDIV |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDEXPDIF |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDMAX |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDMIN |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDMUL |
TODO | TODO | 是 | 是 | 是 |
TCOLEXPANDSUB |
TODO | TODO | 是 | 是 | 是 |
TCOLMAX |
是 | TODO | 是 | 是 | 是 |
TCOLMIN |
是 | TODO | 是 | 是 | 是 |
TCOLSUM |
是 | TODO | 是 | 是 | 是 |
TCOLPROD |
TODO | TODO | 是 | 是 | 是 |
TCVT |
是 | TODO | 是 | 是 | 是 |
TDIV |
是 | TODO | 是 | 是 | 是 |
TDIVS |
是 | 是 | 是 | 是 | 是 |
TEXP |
是 | 是 | 是 | 是 | 是 |
TEXPANDS |
是 | TODO | 是 | 是 | 是 |
TEXTRACT |
是 | TODO | 是 | 是 | 是 |
TFILLPAD |
是 | TODO | 是 | 是 | 是 |
TGATHER |
是 | TODO | 是 | 是 | 是 |
TGATHERB |
是 | TODO | 是 | 是 | 是 |
TLOAD |
是 | TODO | 是 | 是 | 是 |
TLOG |
是 | TODO | 是 | 是 | 是 |
TLRELU |
是 | TODO | 是 | 是 | 是 |
TMATMUL |
是 | TODO | 是 | 是 | 是 |
TMATMUL_ACC |
是 | TODO | 是 | 是 | 是 |
TMATMUL_BIAS |
是 | TODO | 是 | 是 | 是 |
TMATMUL_MX |
是 | TODO | TODO | TODO | 是 |
TMAX |
是 | TODO | 是 | 是 | 是 |
TMAXS |
是 | TODO | 是 | 是 | 是 |
TMIN |
是 | TODO | 是 | 是 | 是 |
TMINS |
是 | 是 | 是 | 是 | 是 |
TMOV |
是 | TODO | 是 | 是 | 是 |
TMOV_FP |
TODO | TODO | TODO | TODO | TODO |
TMRGSORT |
是 | TODO | 是 | 是 | 是 |
TMUL |
是 | 是 | 是 | 是 | 是 |
TMULS |
是 | 是 | 是 | 是 | 是 |
TNEG |
是 | TODO | 是 | 是 | 是 |
TNOT |
是 | TODO | 是 | 是 | 是 |
TOR |
是 | TODO | 是 | 是 | 是 |
TORS |
是 | TODO | 是 | 是 | 是 |
TPARTADD |
是 | TODO | 是 | 是 | 是 |
TPARTMAX |
是 | TODO | 是 | 是 | 是 |
TPARTMIN |
是 | TODO | 是 | 是 | 是 |
TPARTMUL |
否 | TODO | 是 | 是 | 是 |
TPRELU |
是 | TODO | 是 | 是 | 是 |
TPREFETCH |
TODO | TODO | 是 | 是 | 是 |
TPRINT |
TODO | TODO | 是 | 是 | 是 |
TRECIP |
是 | TODO | 是 | 是 | 是 |
TRELU |
是 | TODO | 是 | 是 | 是 |
TREM |
是 | TODO | 是 | 是 | 是 |
TREMS |
是 | TODO | 是 | 是 | 是 |
TRESHAPE |
是 | TODO | 是 | 是 | 是 |
TROWEXPAND |
是 | TODO | 是 | 是 | 是 |
TROWEXPANDADD |
TODO | TODO | 是 | 是 | 是 |
TROWEXPANDDIV |
是 | TODO | 是 | 是 | 是 |
TROWEXPANDEXPDIF |
TODO | TODO | 是 | 是 | 是 |
TROWEXPANDMAX |
是 | TODO | 是 | 是 | 是 |
TROWEXPANDMIN |
TODO | TODO | 是 | 是 | 是 |
TROWEXPANDMUL |
TODO | TODO | 是 | 是 | 是 |
TROWEXPANDSUB |
是 | TODO | 是 | 是 | 是 |
TROWMAX |
是 | 是 | 是 | 是 | 是 |
TROWMIN |
是 | TODO | 是 | 是 | 是 |
TROWSUM |
是 | TODO | 是 | 是 | 是 |
TROWPROD |
TODO | TODO | 是 | 是 | 是 |
TRSQRT |
是 | TODO | 是 | 是 | 是 |
TSCATTER |
是 | TODO | 是 | 是 | 是 |
TSEL |
是 | TODO | 是 | 是 | 是 |
TSELS |
是 | TODO | 是 | 是 | 是 |
TSHL |
是 | TODO | 是 | 是 | 是 |
TSHLS |
是 | TODO | 是 | 是 | 是 |
TSHR |
是 | TODO | 是 | 是 | 是 |
TSHRS |
是 | TODO | 是 | 是 | 是 |
TSORT32 |
是 | TODO | 是 | 是 | 是 |
TSQRT |
是 | 是 | 是 | 是 | 是 |
TSTORE |
是 | TODO | 是 | 是 | 是 |
TSTORE_FP |
TODO | TODO | TODO | TODO | TODO |
TSUB |
是 | 是 | 是 | 是 | 是 |
TSUBC |
是 | TODO | TODO | TODO | TODO |
TSUBS |
是 | 是 | 是 | 是 | 是 |
TSUBSC |
是 | TODO | TODO | TODO | TODO |
TSYNC |
TODO | TODO | 是 | 是 | 是 |
TTRANS |
是 | TODO | 是 | 是 | 是 |
TTRI |
TODO | TODO | 是 | 是 | 是 |
TXOR |
是 | TODO | 是 | 是 | 是 |
TXORS |
是 | TODO | 是 | 是 | 是 |