| 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_、ScaleBNzLayout、GetScaleBNzSize、QuantGroupedMatmulMxfp8KernelBscaleNz 等 ScaleB NZ 专用代码 - 清理 quant_grouped_matmul_mx_block_mmad.h 和 dispatch_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!300 | 11 天前 |