文件最后提交记录最后更新时间
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !305 merge humanize/reg-data-movement-guide into master refactor: Reg 数据搬运指南「按索引取数」改用 Arange 生成索引做逐 lane Gather Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 将「Reg 数据搬运场景选型指南」中 scene7「按索引取数」示例从 DIST_E2B_B32(E2B 块广播)改为用 Arange 在寄存器内直接生成索引、由 Gather 逐 lane 离散收集。 旧实现 LoadAlign<uint32_t, DIST_E2B_B32> 把紧排 uint32 索引广播成「每索引一个 32B 块」,单轮仅消费前 8 个索引、块内 8 lane 重复同一索引值(out[8k..8k+7]=data[idx[k]]),输出是块重复而非逐 lane 离散收集,与「按索引取数」小节意图相悖、易误导读者,且需额外的 UB 索引缓冲与 E2B 展开。 新实现用 Arange<int32_t, DECREASE_ORDER> 在寄存器内直接生成倒序索引 idx[i]=63-i,Gather 逐 lane 寻址 out[i]=data[63-i],得到 data 的真正逆序拷贝(64 lane 各取各、互不重复),免去 UB 索引与 E2B 展开。 主要改动: - **src**:scene7_gather_e2b.ascscene7_gather_arange.asc,删除 idx 的 UB 缓冲/DataCopy/E2B,改用 Arange 生成索引;host 侧校验改为逐 lane out[i]==63-i。(注:Arange 不支持 uint32,需把 RegTensor<uint32_t> 引用强转为 RegTensor<int32_t> 调用) - **文档**:更新「非连续存取」章节标题与正文(去掉 E2B 描述)、按索引取数小节说明、实测输出与误区表(移除「按 64 索引规划单轮 E2B+Gather」一条),并做若干文字润色。 - **图**:更新 sel-decision-tree.svgsel-gather.svg(Gather 改为逐 lane 取数示意)。 - **构建**:CMakeLists.txt 场景目标名 scene7_gather_e2bscene7_gather_arange。 ## 关联的Issue - #205 ## 测试 scene7_gather_arange 示例 host 侧做逐元素校验:out[i] 应等于 data[63-i]=63-i,全部命中则打印 PASSED。 ## 文档更新 更新 Reg数据搬运场景选型指南.mdimages/ 下两张 SVG 配图。 ## 类型标签 - [x] 文档更新 - [x] 其他,请描述:示例代码重构(scene7 改用 Arange 逐 lane Gather) See merge request: cann/cann-samples!3058 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前
refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !300 merge master into master refactor: 简化 Reg 数据搬运选型指南行文,统一 VL 计算,移除 ScaleB NZ 示例 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 对 Reg 数据搬运场景选型指南进行全面简化和重构,同时移除 grouped_matmul 中已弃用的 ScaleB NZ 示例。 ### 一、Reg 数据搬运选型指南重构(Samples/1_Features/memory_optimization/reg_data_movement/) 1. **简化行文风格**:将原本以开发者笔记/实验记录风格撰写的文档改写为面向用户的参考指南格式,每个场景统一使用「用途说明 → 接口签名 → 关键参数 → 代码示例 → 运行结果解读」的结构。 2. **统一 VL 计算**:所有示例代码中 static constexpr uint32_t VL_B32 = 256 / sizeof(float) 替换为 uint32_t VL = AscendC::VECTOR_REG_WIDTH / sizeof(T),使用运行时计算而非编译期常量,更贴近实际使用方式。 3. **新增决策树 SVG**:添加 sel-decision-tree.svg,将原来的"选型决策维度"文字描述替换为可视化决策树,用户可按场景快速定位适用的搬运方式。 4. **补充接口签名**:每个场景小节开头补充对应 LoadAlign/StoreAlign/Gather 等接口的函数签名,方便快速查阅。 5. **简化示例说明**:去掉冗余的跨仓引用和频次统计数据,聚焦搬运模式本身的使用方法和注意事项。 6. **更新所有 .asc 示例文件**:scene1~scene10 的 VF 示例代码同步更新 VL 计算方式。 ### 二、移除 ScaleB NZ 示例(Samples/2_Performance/grouped_matmul_story/grouped_matmul_recipes/) 移除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz 示例及其相关代码: - 删除 quant_grouped_matmul_mxfp8_split_m_scale_b_nz.asc(278 行) - 删除 gen_data_scale_b_nz.py(289 行) - 从 CMakeLists.txt 移除对应构建条目 - 从 README.md 移除相关文档段落 - 从 common_utils.h 移除 PrintUsageBscaleNz 函数 - 从 quant_grouped_matmul_mx_kernel.h 移除 kBscaleNzGm_ScaleBNzLayoutGetScaleBNzSizeQuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.hdispatch_policy.h 中的代码格式 ## 关联的Issue - #204 ## 测试 文档和示例代码变更,通过编译验证。 ## 文档更新 - 重构 Reg数据搬运场景选型指南.md - 更新 quant_grouped_matmul_mxfp8/README.md,移除 ScaleB NZ 相关描述 - 新增 images/sel-decision-tree.svg 决策树图 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!30011 天前