| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
docs: refine ISA doc wording/terminology and rename header-library description Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1370 merge master into master docs: refine ISA doc wording/terminology and rename header-library description Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 对 docs/ 下文档统一润色措辞与术语,重命名头/库文件说明文档,并新增其菜单标题页与两级菜单项。纯文档修改,无源码/配置改动。 ## 描述 10 文件 +15/−12,全为 .md(8 文档润色/重命名 + 2 菜单文件): - **重命名与文档修订**:docs/PTO-ISA-External-Header-and-Library-Description.md → docs/PTO-ISA-Header-and-Library-Description.md,标题简化为「头文件和库文件说明」;将该文档「矩阵级访存」统一改为「不规则访存」,并补充说明 M 前缀表示 memory(如 MGATHER/MSCATTER)。 - **菜单项**:新增菜单标题页 docs/menu/header_and_library_zh.md(一级标题「头文件和库文件说明」,与其它 menu/*.md 一致);并在 docs/menu_ops_development.md 按两级结构挂入该文档——父级 [头文件和库文件说明](menu/header_and_library_zh.md)、叶子 [头文件和库文件说明](PTO-ISA-Header-and-Library-Description.md)。 - **术语规范化**:钳制 → 限制(MGATHER_zh、MSCATTER_zh);分块 → 分形(TROWEXPANDMIN_zh);修正笔误「手握手」→「握手」(MSCATTER_zh)。 - **语法修正(英文)**:only support → only supports(TFMODS、TREMS)。 - **约束描述重写**:TFILLPAD.md / TFILLPAD_zh.md 重写 Mat 类型重载的约束描述,更清晰说明该重载与首条 Vec 重载分属不同 SFINAE 重载、二者不矛盾。 ## 关联的Issue ## 测试 - **纯文档修改**,无代码/构建产物变更,无需编译/单测。 - **一致性**:术语与措辞调整全仓统一应用;产品名、芯片型号、路径、arch 等不在本次润色范围(正确未改)。 - **改动量**:10 文件 +15/−12(.md only);含 1 个新增文件 docs/menu/header_and_library_zh.md、1 个重命名文件。 ## 文档更新 仅修正文档措辞、术语与约束描述,补充菜单项,无内容/结构改动。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1370 | 20 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 | |
Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Co-authored-by: zhywang<wangzhiyong74@huawei.com> # message auto-generated for no-merge-commit merge: !1307 merge master into master Add TAXPY and TDEQUANT instructions, reorganize ops-development sidebar into an 11-group functional hierarchy with stub landing pages Created-by: zhhywang Commit-by: zhywang Merged-by: cann-robot Description: Created-by: zhywang Commit-by: zhywang Merged-by: cann-robot Description: 新增 TAXPY(原位缩放累加 AXPY: dst = scalar·src0 + dst)与 TDEQUANT(量化 Tile 仿射反量化 S8/S16 → FP32,dst = (src − offset)·scale,TQUANT 的逆运算)两条指令并集成进对应索引;同时按操作语义重构 docs/menu_ops_development.md 侧边栏为 11 个顶层分组 / 23 个子分组 / 120 个叶子指令的分层导航,并新增 23 个 docs/menu/*_zh.md 标题占位页使每个子分组链接可解析。 ## 描述 本次提交以「新增 TAXPY + TDEQUANT 两条指令 + 侧边栏菜单分层重构」为核心: 1. 新增 TAXPY 指令页(docs/isa/TAXPY.md / TAXPY_zh.md,各 86 行): - 语义:对 Tile 做**原位缩放累加**(AXPY,$a \cdot x + y$):dst = scalar · src0 + dst。 - dst 为读-改-写(RMW):旧值作为累加基 $y$ 读入,写回 scalar·x + y,**调用前必须已初始化**;src0($x$)只读;scalar($a$)为标量(TileDataSrc::DType)。 - 支持 dtype:dst/src0 ∈ {half, float}——同型路径直接 vaxpy;dst=float/src0=half 时将半精度拓宽到 FP32 后累加(A5 经 UNPK_B16 + vcvt,A2/A3 由 vaxpy 原生处理 4-block src / 8-block dst);half dst + float src0 非法(实现内 static_assert 拒绝)。 - 实现要点:运行于向量流水线 PIPE_V,使用 vaxpy 向量内联函数;dst/src0 必须同为 TileType::Vec 且有效形状一致;A2/A3 按 repeat-stride 是否溢出与行列关系选择 count/norm 模式覆盖任意合法形状。 - 编码:manifest 归类为 Tile-Scalar / Tile-Immediate,diagram_template: scalar,操作数 dst, src0, scalar。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Constraints / Examples;示例指向 tests/npu/a5|a2a3|kirin9030/src/st/testcase/taxpy/ 与 tests/cpu/st/testcase/taxpy/。 2. 新增 TDEQUANT 指令页(docs/isa/TDEQUANT.md / TDEQUANT_zh.md,各 109 行): - 语义:对量化整数码 Tile(S8 / S16)做**逐行仿射反量化**,输出 FP32:dst = (src − offset) · scale,是 TQUANT(q = round(x/scale) + offset)整数仿射量化的逆运算。 - scale / offset 为**逐行** FP32 参数(沿列广播,paraCol = min(j, paraCols−1)),为 ISA 可见 Tile 操作数(非编译器 scratch);典型形态每行一个标量。 - 支持 dtype:S8 → FP32(UNPK4_B8 解包)、S16 → FP32(UNPK_B16 解包);dst/scale/offset 必须 dtype 一致且均为 FP32。 - 实现要点:运行于 PIPE_V,vsub 减零点 → vmul 重新缩放,无需 tmp scratch(区别于 A2/A3 上 TQUANT 的 5 级 cast 链)。 - 编码:manifest 归类为 Complex,diagram_template: elementwise,操作数 dst, src, scale, offset;指令页 Encoding 章节给出 TEPL 复杂变换编码(Mode=3、Function=11、TileOp=0x6B、BSTART.TEPL TDEQUANT …)。 - 章节齐全:Introduction / Math Interpretation / C++ Intrinsics / Tile Sizes & dtypes / Supported Input Dtypes / Implementation Notes / Encoding / Constraints / Examples;示例指向 tests/npu/a5|a2a3/src/st/testcase/tdequant/ 与 tests/cpu/st/testcase/tdequant/。 3. 两条指令集成进源同步索引(中英文一一对应;**两条指令索引落地范围不同**): - docs/isa/manifest.yaml:TAXPY 新增 Tile-Scalar / Tile-Immediate 条目(scalar 模板,dst, src0, scalar);TDEQUANT 新增 Complex 条目(elementwise 模板,dst, src, scale, offset),均含中英 summary。 - docs/isa/README.md / README_zh.md:各新增 TAXPY、TDEQUANT 两个列表条目(各 2 处)。 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY 与 TDEQUANT(各 1 处)。 - docs/PTOISA.md / PTOISA_zh.md:Complex 表新增 TDEQUANT 行(各 1 处);TAXPY 因归类为 Tile-Scalar 未进 PTOISA 表。 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 一行(elementwise / dst, src, scale, offset,各 1 处);TAXPY 未进该矩阵。 - include/README.md / README_zh.md:将既有 TAXPY 行的空链接 []() 补为 ../docs/isa/TAXPY.md(链接修复);TDEQUANT 未进后端可用性表。 4. docs/menu_ops_development.md 按操作语义**整体重写**(旧 247 行 → 新 156 行): - 新结构:**11 个顶层分组**([分组名]() 空链接作导航父节点,0/2/4 空格缩进)+ **23 个子分组**([子组名](menu/xxx_zh.md) 链接)+ **120 个叶子指令**,按操作语义重新归类——逐元素双目运算 / 逐元素单目运算 / 逐元素超越函数 / 逐元素标量运算 / 归约运算 / 广播扩展运算 / 矩阵乘 / 数据搬运与访存 / 复杂变换 / 系统与控制 / 通信。 - TAXPY 置于「逐元素标量运算 > 标量算术」;TQUANT / TDEQUANT 置于「复杂变换 > 数据类型转换」(与 TCVT 同组)。 - 注:11 个顶层分组名采用空链接 []()(仅作分类父节点、无独立落地页),23 个子分组各自指向占位页。 5. **新增 23 个 docs/menu/*_zh.md 占位文件**(与 23 个子分组一一对应),每个文件仅含一行中文标题(如 # 算术运算、# 数据类型转换、# 流通信(FIFO)),用于使菜单的每个子分组链接可解析、构建分层导航骨架(当前仅标题、无正文内容);均为 _zh.md,无英文对应文件。 ## 关联的Issue ## 测试 - 指令页:TAXPY.md / TAXPY_zh.md 各 86 行;TDEQUANT.md / TDEQUANT_zh.md 各 109 行;EN/ZH 结构对称、行数一致。TDEQUANT 语义与 TQUANT 互逆一致(q=round(x/scale)+offset ⇔ x=(q−offset)·scale);TAXPY 为原位 RMW 累加,调用前需初始化 dst。 - 索引集成: - TAXPY 落地 manifest / isa/README(_zh) / mkdocs.yml nav / include/README(_zh)(链接修复)共 7 处;未进 PTOISA(_zh) 与指令族矩阵(归类为 Tile-Scalar,符合各表收录范围)。 - TDEQUANT 落地 manifest / PTOISA(_zh) / isa/README(_zh) / mkdocs.yml nav / 指令族矩阵(_zh) 共 8 处;未进 include/README 后端可用性表。 - manifest 字段:TAXPY(category=Tile-Scalar/Tile-Immediate、diagram_template=scalar、operands=dst, src0, scalar)、TDEQUANT(category=Complex、diagram_template=elementwise、operands=dst, src, scale, offset),均与各自指令页 Encoding/Operands 一致。 - 菜单:新文件 156 行;缩进仅 0/2/4 空格(无旧 8 空格残留);23 处 menu/ 引用全部指向新增占位页;120 处 isa/ 叶子链接;11 个顶层分组保留空链接 []()(分类父节点,预期行为)。 - 占位页:23 个 docs/menu/*_zh.md 各含一行中文标题(无正文),仅用于链接可解析。 - 中英文同步:所有指令页与索引页的 _zh 版本与 EN 版本改动一一对应(菜单占位页与 menu_ops_development.md 为纯中文页,无 EN 对应)。 ## 文档更新 - docs/isa/TAXPY.md / TAXPY_zh.md:新增指令页(原位缩放累加 AXPY,half/float + 半精度拓宽) - docs/isa/TDEQUANT.md / TDEQUANT_zh.md:新增指令页(仿射反量化 S8/S16 → FP32) - docs/isa/manifest.yaml:新增 TAXPY(Tile-Scalar/scalar)与 TDEQUANT(Complex/elementwise)条目 - docs/isa/README.md / README_zh.md:列表新增 TAXPY、TDEQUANT 条目 - docs/mkdocs/mkdocs.yml:nav 新增 TAXPY、TDEQUANT - docs/PTOISA.md / PTOISA_zh.md:Complex 索引表新增 TDEQUANT 行 - docs/mkdocs/src/manual/appendix-d-instruction-family-matrix.md / _zh.md:指令族矩阵新增 TDEQUANT 行 - include/README.md / README_zh.md:补全 TAXPY 行空链接指向 ../docs/isa/TAXPY.md - docs/menu_ops_development.md:API 参考侧边栏按 11 类功能分类法整体重构(旧 247 行 → 新 156 行),子分组链接全部指向占位页 - docs/menu/*_zh.md(23 个):新增分层占位跳转文件,各含一行中文标题,用于链接可解析 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/pto-isa!1307 | 30 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 20 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 30 天前 |