include/

Public C/C++ headers for PTO Tile Lib (primarily header-only, template-based). Upper-layer frameworks or operator code can include these headers to emit PTO ISA Tile-level operations.

Quick Start

Include the unified entry header:

#include <pto/pto-inst.hpp>

pto/pto-inst.hpp selects the appropriate backend (CPU simulation/stub or NPU implementation) based on build configuration. See include/pto/README.md for details.

Layout

  • include/pto/: Public PTO ISA API and backend implementations (common / cpu / npu)

PTO Instruction Implementation Status (CPU / Costmodel / A2 / A3 / A5)

This table tracks per-instruction backend availability:

  • CPU: __CPU_SIM (CPU simulation backend).
  • Costmodel: __COSTMODEL (A2 / A3 cost model backend).
  • A2 (Ascend 910B) / A3 (Ascend 910C): share the include/pto/npu/a2a3/ implementation today (so the status is identical for both columns).
  • A5 (Ascend 950): uses the include/pto/npu/a5/ implementation.
  • TODO means the instruction is part of the public API but the backend implementation is not available yet.
Instruction CPU Costmodel A2 A3 A5
MGATHER Yes TODO TODO TODO TODO
MSCATTER Yes TODO TODO TODO TODO
TABS Yes Yes Yes Yes Yes
TADD Yes Yes Yes Yes Yes
TADDC Yes TODO TODO TODO TODO
TADDS Yes Yes Yes Yes Yes
TADDSC Yes TODO TODO TODO TODO
TAND Yes TODO Yes Yes Yes
TANDS Yes TODO Yes Yes Yes
TASSIGN Yes TODO Yes Yes Yes
TAXPY TODO TODO Yes Yes Yes
TCI Yes TODO Yes Yes Yes
TCMP Yes TODO Yes Yes Yes
TCMPS Yes TODO Yes Yes Yes
TCOLEXPAND Yes TODO TODO TODO TODO
TCOLEXPANDADD TODO TODO Yes Yes Yes
TCOLEXPANDDIV TODO TODO Yes Yes Yes
TCOLEXPANDEXPDIF TODO TODO Yes Yes Yes
TCOLEXPANDMAX TODO TODO Yes Yes Yes
TCOLEXPANDMIN TODO TODO Yes Yes Yes
TCOLEXPANDMUL TODO TODO Yes Yes Yes
TCOLEXPANDSUB TODO TODO Yes Yes Yes
TCOLMAX Yes TODO Yes Yes Yes
TCOLMIN Yes TODO Yes Yes Yes
TCOLSUM Yes TODO Yes Yes Yes
TCOLPROD TODO TODO Yes Yes Yes
TCVT Yes TODO Yes Yes Yes
TDIV Yes TODO Yes Yes Yes
TDIVS Yes Yes Yes Yes Yes
TEXP Yes Yes Yes Yes Yes
TEXPANDS Yes TODO Yes Yes Yes
TEXTRACT Yes TODO Yes Yes Yes
TFILLPAD Yes TODO Yes Yes Yes
TGATHER Yes TODO Yes Yes Yes
TGATHERB Yes TODO Yes Yes Yes
TLOAD Yes TODO Yes Yes Yes
TLOG Yes TODO Yes Yes Yes
TLRELU Yes TODO Yes Yes Yes
TMATMUL Yes TODO Yes Yes Yes
TMATMUL_ACC Yes TODO Yes Yes Yes
TMATMUL_BIAS Yes TODO Yes Yes Yes
TMATMUL_MX Yes TODO Yes Yes Yes
TMAX Yes TODO Yes Yes Yes
TMAXS Yes TODO Yes Yes Yes
TMIN Yes TODO Yes Yes Yes
TMINS Yes Yes Yes Yes Yes
TMOV Yes TODO Yes Yes Yes
TMOV_FP TODO TODO TODO TODO TODO
TMRGSORT Yes TODO Yes Yes Yes
TMUL Yes Yes Yes Yes Yes
TMULS Yes Yes Yes Yes Yes
TNEG Yes TODO Yes Yes Yes
TNOT Yes TODO Yes Yes Yes
TOR Yes TODO Yes Yes Yes
TORS Yes TODO Yes Yes Yes
TPARTADD Yes TODO Yes Yes Yes
TPARTMAX Yes TODO Yes Yes Yes
TPARTMIN Yes TODO Yes Yes Yes
TPARTMUL TODO TODO Yes Yes Yes
TPRELU Yes TODO Yes Yes Yes
TPREFETCH TODO TODO Yes Yes Yes
TPRINT TODO TODO Yes Yes Yes
TRECIP Yes TODO Yes Yes Yes
TRELU Yes TODO Yes Yes Yes
TREM Yes TODO Yes Yes Yes
TREMS Yes TODO Yes Yes Yes
TFMOD TODO TODO Yes Yes Yes
TFMODS TODO TODO Yes Yes Yes
TRESHAPE Yes TODO Yes Yes Yes
TROWEXPAND Yes TODO Yes Yes Yes
TROWEXPANDADD TODO TODO Yes Yes Yes
TROWEXPANDDIV Yes TODO Yes Yes Yes
TROWEXPANDEXPDIF TODO TODO Yes Yes Yes
TROWEXPANDMAX Yes TODO Yes Yes Yes
TROWEXPANDMIN TODO TODO Yes Yes Yes
TROWEXPANDMUL TODO TODO Yes Yes Yes
TROWEXPANDSUB Yes TODO Yes Yes Yes
TROWMAX Yes Yes Yes Yes Yes
TROWMIN Yes TODO Yes Yes Yes
TROWSUM Yes TODO Yes Yes Yes
TROWPROD TODO TODO Yes Yes Yes
TRSQRT Yes TODO Yes Yes Yes
TSCATTER Yes TODO Yes Yes Yes
TSEL Yes TODO Yes Yes Yes
TSELS Yes TODO Yes Yes Yes
TSHL Yes TODO Yes Yes Yes
TSHLS Yes TODO Yes Yes Yes
TSHR Yes TODO Yes Yes Yes
TSHRS Yes TODO Yes Yes Yes
TSORT32 Yes TODO Yes Yes Yes
TSQRT Yes Yes Yes Yes Yes
TSTORE Yes TODO Yes Yes Yes
TSTORE_FP TODO TODO TODO TODO TODO
TSUB Yes Yes Yes Yes Yes
TSUBC Yes TODO TODO TODO TODO
TSUBS Yes TODO Yes Yes Yes
TSUBSC Yes TODO TODO TODO TODO
TSYNC TODO TODO Yes Yes Yes
TTRANS Yes TODO Yes Yes Yes
TTRI TODO TODO Yes Yes Yes
TXOR Yes TODO Yes Yes Yes
TXORS Yes TODO Yes Yes Yes