CANN/PTO-ISA指令族契约规范

CANN/PTO-ISA指令族契约规范 6. Instruction families and contracts【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa6.1 ScopeThis chapter defines family-level normative contracts. Per-op normative details remain indocs/isa/*.md.6.2 Family taxonomyPTO instruction families:synchronization and resource bindingelementwise tile-tile operationstile-scalar and tile-immediate operationsaxis reduce and expand operationsmemory operations (GM - Tileand indexed variants)matrix multiply and GEMV operationsdata movement and layout transformsirregular/complex operationsThe source-synchronized inventory is maintained bydocs/isa/manifest.yaml.6.3 Common family contractEvery instruction family MUST define:operand/result classes and position rulessemantic domain (valid-region handling)required constraints (dtype/layout/location/shape)synchronization/ordering implicationsdiagnostics behavior for illegal useimplementation-defined boundaries6.4 Valid-region-first ruleUnless a specific instruction states otherwise:semantics are defined only on the operations valid domainout-of-domain results are unspecifiedfamily contracts MUST state domain-composition rules for multi-input operations6.5 Family-level summaries6.5.1 Synchronization and resource bindingIncludesTSYNC,TASSIGN, mode/config instructions. These operations define ordering or state-configuration effects and MUST preserve architecture ordering semantics.6.5.2 Elementwise and scalar variantsIncludes arithmetic, bitwise, compare, select, unary math, and scalar-fused forms. Operations MUST define per-element behavior and mode-specific constraints.6.5.3 Reduce/expand familiesIncludes row/column reductions and broadcast-like expansions. Operations MUST define axis semantics and domain compatibility.6.5.4 Memory familiesIncludes load/store/prefetch and indexed gather/scatter forms. Operations MUST define mapping between tile domains and memory domains.6.5.5 Matrix familiesIncludesTMATMUL*andTGEMV*families. Contracts MUST define accumulation domain, operand-role legality, and precision-mode interactions.6.5.6 Movement/layout familiesIncludes extract/insert/reshape/transpose/fillpad-like transforms. Contracts MUST define index mapping and domain preservation rules.6.5.7 Complex/irregular familiesIncludes sort/quant/partial/gather variants and other special operations. Contracts MUST explicitly identify implementation-defined portions.6.6 Documentation contract for per-op pagesEach per-instruction page SHOULD follow Appendix B template sections:SyntaxOperandsSemanticsConstraintsDiagnosticsImplementation-defined behaviorCompatibility notes6.7 Coverage and synchronization policyFamily and instruction indexes MUST stay synchronized with:docs/isa/manifest.yamlinclude/pto/common/pto_instr.hppgenerated index/matrix tooling indocs/tools/【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考