name: PTO指令文档更新模式 description: PTO ISA 新增指令时需要更新的文档文件和位置模式总结。根据 docs/assembly/README.md 中的分类动态选择需要修改的汇编文件。触发:新增 PTO 指令(如 TPOW、TPOWS)后需要同步更新文档时。 license: CANN Open Software License Agreement Version 2.0


PTO指令文档更新模式

此 skill 总结了为 PTO ISA 添加新指令(如 TPOW、TPOWS)时需要更新的文档文件和位置模式。

适用场景

当新增 PTO 指令后,需要同步更新相关文档时使用此 skill。使用 git status 查看当前 staging 的文件列表来确认所有需要修改的文件。

Git Staged 文件分类

新增文件(需预先创建)

类型 说明
指令diagrams docs/figures/isa/{指令名}.svg - 指令操作示意图
指令文档 docs/isa/{指令名}.md - 详细指令文档(英文)
指令文档 docs/isa/{指令名}_zh.md - 详细指令文档(中文)

修改文件(需同步更新)

类型 说明
ISA主索引 docs/PTOISA.md - ISA索引表格
ISA主索引 docs/PTOISA_zh.md - ISA索引表格(中文)
ISA参考目录 docs/isa/README.md - 按分类排序的指令列表
ISA参考目录 docs/isa/README_zh.md - 按分类排序的指令列表(中文)
菜单文档 docs/menu_apis.md - 按分类排序的中文链接
汇编参考 docs/assembly/<类别>-ops.md - 根据指令类型动态选择
指令族矩阵 docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md - 指令族矩阵
指令族矩阵 docs/mkdocs/src/manual/appendix-d-instruction-family-matrix_zh.md - 指令族矩阵(中文)
include索引 include/README.md - 实现状态表格
include索引 include/README_zh.md - 实现状态表格(中文)

动态选择汇编文档

根据 docs/assembly/README.md 中的 ### 2. PTO Tile Operation Categories 决定需要修改的汇编文件。

汇编文件列表(对应分类)

分类 汇编文件 说明
Elementwise (Tile-Tile) elementwise-ops.md tile-tile 逐元素操作
Tile-Scalar / Tile-Immediate tile-scalar-ops.md tile-标量操作
Axis Reduce / Expand axis-ops.md 轴归约/扩展操作
Memory (GM ↔ Tile) memory-ops.md 内存操作
Matrix Multiply matrix-ops.md 矩阵乘操作
Data Movement / Layout data-movement-ops.md 数据搬运/布局操作
Complex complex-ops.md 复杂操作
Manual Resource Binding manual-binding-ops.md 手动资源绑定操作
Scalar Arithmetic scalar-arith-ops.md 标量算术操作
Control Flow control-flow-ops.md 控制流操作
Auxiliary Functions nonisa-ops.md 辅助函数操作

动态选择规则

  1. 确定指令分类 - 查看 docs/assembly/README.md 中的分类定义
  2. 选择对应文件 - 根据分类选择对应的 <类别>-ops.md 文件
  3. 更新计数 - 更新该文件中 **Total Operations:** N 的计数
  4. 添加章节 - 在该分类最后一个指令后插入新指令章节

更新模式详解

1. ISA 主索引文件

docs/PTOISA.md / docs/PTOISA_zh.md

  • 位置: 指令索引表格
  • 分类:
  • 逐元素(Tile-Tile)指令 → 插在 TFMOD
  • Tile-标量 / Tile-立即数 → 插在 TSUBSC

include/README.md / include/README_zh.md

  • 位置: 实现状态表格(按字母序)
  • 分类:
  • TPOW → 插在 TPRELUTPUT 之间
  • TPOWS → 插在 TPUT_ASYNCTQUANT 之间

2. ISA 参考目录

docs/isa/README.md / docs/isa/README_zh.md

  • 位置: 按分类排序的指令列表
  • 分类:
  • Elementwise (Tile-Tile) → 插在 TFMOD
  • Tile-Scalar / Tile-Immediate → 插在 TSUBSC

3. 菜单文档

docs/menu_apis.md

  • 位置: 按分类排序的中文链接列表
  • 同 ISA 参考目录结构

4. 汇编文档(动态选择)

根据指令类型选择对应的文件:

指令类型 目标文件 插入位置
TPOW (Elementwise) elementwise-ops.md TFMOD 后
TPOWS (Tile-Scalar) tile-scalar-ops.md TSU BSC 后
TROWSUM (Axis) axis-ops.md 最后一个 Axis 指令后
TLOAD (Memory) memory-ops.md 最后一个 Memory 指令后
TMATMUL (Matrix) matrix-ops.md 最后一个 Matrix 指令后
TMOV (Data Movement) data-movement-ops.md 最后一个 Data Movement 指令后
TQUANT (Complex) complex-ops.md 最后一个 Complex 指令后
TASSIGN (Manual Binding) manual-binding-ops.md 最后一个 Manual 指令后

5. 指令族矩阵

docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md

  • 位置: D.2 覆盖统计表 + D.4 家族矩阵表
  • D.2 更新示例: | Elementwise (Tile-Tile) | 28 → 29 | | Tile-Scalar / Tile-Immediate | 19 → 20 | | Total | 126 → 128 |
  • D.4 更新:
  • 在对应分类的最后一条目后插入新指令

docs/mkdocs/src/manual/appendix-d-instruction-family-matrix_zh.md

  • 同英文版本

常见新增指令分类与插入位置

Tile-Tile (逐元素双Tile)

  • 插入位置: TFMOD 之后
  • 对应文件: elementwise-ops.md
  • 示例: TPOW

Tile-Scalar (Tile与标量)

  • 插入位置: TSUBSC 之后
  • 对应文件: tile-scalar-ops.md
  • 示例: TPOWS

Axis Reduce / Expand

  • 插入位置: 最后一个 Axis 指令之后
  • 对应文件: axis-ops.md

Memory (GM ↔ Tile)

  • 插入位置: 最后一个 Memory 指令之后
  • 对应文件: memory-ops.md

更新检查清单

新增文件(预先创建)

  • [ ] docs/figures/isa/{新指令}.svg - 指令操作示意图
  • [ ] docs/isa/{新指令}.md - 详细指令文档(英文)
  • [ ] docs/isa/{新指令}_zh.md - 详细指令文档(中文)

修改文件(同步更新)

  • [ ] docs/PTOISA.md - ISA主索引
  • [ ] docs/PTOISA_zh.md - ISA主索引(中文)
  • [ ] include/README.md - include索引
  • [ ] include/README_zh.md - include索引(中文)
  • [ ] docs/isa/README.md - ISA参考目录
  • [ ] docs/isa/README_zh.md - ISA参考目录(中文)
  • [ ] docs/menu_apis.md - 菜单文档
  • [ ] docs/assembly/<类别>-ops.md - 动态选择的汇编文件(英文+中文)
  • [ ] docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md - 指令族矩阵
  • [ ] docs/mkdocs/src/manual/appendix-d-instruction-family-matrix_zh.md - 指令族矩阵(中文)

注意事项

  1. 英文+中文: 每个文件都有中英文两个版本,需要同步更新
  2. 动态选择: 根据 docs/assembly/README.md 选择的分类来确定需要修改的汇编文件
  3. 计数变化: 需要同时更新 Operation Count(分类小计)和 Total(总计)
  4. 详细指令文档: 需要预先创建在 docs/isa/ 目录下
  5. diagrams: 需要预先创建在 docs/figures/isa/ 目录下
  6. 使用 git status 可以查看当前 staging 的文件列表,这是确认所有需要修改文件的最佳方式