| 支持通过 NPU_ARCH 配置样例编译架构 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !208 merge codex/npu-arch-simplify into master 支持通过 NPU_ARCH 配置样例编译架构 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: ## 描述 本 PR 简化 NPU_ARCH 配置方式: - 根 CMake 增加 NPU_ARCH 必填和合法性校验,支持 dav-3510、dav-2201。 - 各 sample 入口 CMake 本地声明支持架构,不支持当前 NPU_ARCH 时在配置阶段跳过,不创建 target、不参与编译和安装。 - 将 AscendC 编译参数中的固定 --npu-arch=dav-3510 改为 --npu-arch=${NPU_ARCH}。 - 更新 CI 构建脚本,支持通过参数选择目标 NPU 架构: - 编译 Ascend950 时使用 dav-3510:bash .ci/build.sh dav-3510。 - 编译 Ascend910B/C 时使用 dav-2201:bash .ci/build.sh dav-2201。 - 未传参数时默认使用 dav-3510,即 bash .ci/build.sh 等价于 bash .ci/build.sh dav-3510,兼容现有 CI 平台调用。 - 同步更新 README、CONTRIBUTING 和各样例 README / run.sh 中的构建命令;项目 README 明确说明 Ascend950 对应 dav-3510、Ascend910B/C 对应 dav-2201,并以 Ascend950 为例给出 CMake 配置命令。 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/133 - https://gitcode.com/cann/cann-samples/issues/125 ## 测试 - 本地静态检查:确认非 third_party 文档中不再存在未带 NPU_ARCH 的根工程 cmake 配置示例,确认 CMake 中不再存在 --npu-arch=dav-3510。 - 本地脚本检查:bash -n .ci/build.sh 及相关 run.sh,git diff --check。 - 远端 Ascend950:/home/zhangzijie/workspace/cann-samples-fork: - cmake -S . -B build:按预期报缺少 NPU_ARCH,并提示示例命令。 - cmake -S . -B build -DNPU_ARCH=invalid:按预期报非法 NPU_ARCH。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build -DNPU_ARCH=dav-3510 && cmake --build build --parallel:通过。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build_dav2201_test -DNPU_ARCH=dav-2201 && cmake --build build_dav2201_test --parallel && cmake --build build_dav2201_test --target help:通过,仅 vector_add 生效。 - ./build/Samples/0_Introduction/vector_add/vector_add:通过,输出 Vector add completed successfully!。 - ./build/Samples/0_Introduction/matmul/matmul 100 50 200:通过,输出 matmul run successfully!。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh:通过,默认 dav-3510,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-3510:通过,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-2201:通过,仅打包 vector_add,生成并校验 build_out_dav-2201_21ae5b4.zip。 ## 文档更新 更新 README.md、CONTRIBUTING.md、相关 Samples README 和调用 .ci/build.sh 的 run.sh。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!208 | 4 个月前 |
| docs: 添加 GitCode Issue 和 PR 模板配置 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !25 merge master into master docs: 添加 GitCode Issue 和 PR 模板配置 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: docs: 添加 GitCode Issue 和 PR 模板配置 添加了 .gitcode/ 目录,包含 Issue 模板(bug-report.yml、documentation.yml、feature-request.yml、question.yml)和中文 Pull Request 模板(PULL_REQUEST_TEMPLATE.zh-CN.md) 文档更新: - 添加 ISSUE_TEMPLATE 目录(4个Issue模板文件) - 添加 PULL_REQUEST_TEMPLATE.zh-CN. 类型标签: - [x] 文档更新 See merge request: cann/ops-samples!25 | 6 个月前 |
| fix_issue110 fix_sync_remote update tensor_api submodule fix_layout_utils.h | 3 个月前 |
| submodule引入tensorapi源码并适配所有sample Co-authored-by: chen-shuai<chenshuai96@huawei.com> # message auto-generated for no-merge-commit merge: !207 merge submodule_tensorapi into master submodule引入tensorapi源码并适配所有sample Created-by: chen-shuai Commit-by: chen-shuai Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 tensor_api 从仓内源码方式调整为 Git submodule 引入,并同步适配 samples 中使用 Tensor API 的代码。 ### 主要改动 1. 引入 ops-tensor submodule - 新增 third_party/tensor_api submodule - submodule 地址:https://gitcode.com/cann/ops-tensor.git - 跟踪分支:master 2. 调整 CMake 依赖初始化 - 在 cmake/tensor_api.cmake 中增加 submodule 自动初始化逻辑 - 编译前通过 git submodule update --init --recursive third_party/tensor_api 拉取依赖 - 将 Tensor API include 路径调整为 third_party/tensor_api/include/tensor_api 3. 适配新 Tensor API 接口 - 更新 Samples/0_Introduction、Samples/1_Features、Samples/2_Performance 中使用 Tensor API 的样例 - include/tensor.h 调整为 include/tensor_api/tensor.h - Make*memPtr 迁移为 MakeMemPtr<Location::*> - Make*Layout 迁移为 MakeFrameLayout - Tensor 切片调用迁移为 .Slice(...) - CopyL12L0 拆分适配为 CopyL12L0A / CopyL12L0B - MakeMad / Mad 迁移为 MakeMmad / Mmad - MmadParams 调整到 AscendC::Te 命名空间 4. 适配 Matmul / Grouped Matmul MX 样例 - 更新 MX 量化 Matmul、Grouped Matmul 相关 block/kernel/tile 实现 - 移除仓内旧版 copy_scale_gm_to_l1.h 实现,改为使用新版 Tensor API 能力 - 调整 MX MMAD trait 与相关 layout/memory pointer 使用方式 5. 补充 Ascend include 路径 - cmake/ascend.cmake 中新增 ${ASCEND_DIR}/asc include 路径 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/cann-samples/issues/140 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 回归所有sample精度 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!207 | 4 个月前 |
| test: add minimal functional CI runner and manifest Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !88 merge test/phase1-manifest into master test: add minimal functional CI runner and manifest Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: ## 描述 本 PR 为 cann-samples 增加一套最小可落地的功能测试 CI 原型,目标是从“仅看护编译不失败”推进到“具备统一执行入口和最小功能回归能力”。 本次改动包括: - 新增功能测试执行入口: - .ci/run_ci_functional.sh - .ci/run_ci_functional.py - 新增最小功能测试清单: - tests/ci_functional_test.yaml - 新增测试与 CI 文档: - .ci/README.md - tests/README.md - 修复 hif8 安装目录结构,保留 scripts/ 子目录,使安装树与源码、README、CI 清单保持一致 - 拆分 CI runner 依赖到 .ci/requirements.txt 当前方案刻意保持最小化: - .ci/ 只负责执行入口 - tests/ 只负责测试清单资产 - manifest 只保留最小契约:id、setup、steps、pass_criteria 当前纳入功能测试清单的样例: - vector_add - matmul_basic - hif8_quantize ## 关联的Issue https://gitcode.com/cann/cann-samples/issues/33 ## 测试 本地已完成静态验证: - python3 -m py_compile .ci/run_ci_functional.py - bash -n .ci/build.sh - bash -n .ci/run_ci_functional.sh 依赖安装方式: bash pip install -r requirements.txt pip install -r .ci/requirements.txt ## 文档更新 已更新: - .ci/README.md - tests/README.md - Samples/1_Features/hardware_features/hif8/README.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:新增最小功能测试 CI 原型与测试清单 See merge request: cann/cann-samples!88 | 5 个月前 |
| fix_issue110 fix_sync_remote update tensor_api submodule fix_layout_utils.h | 3 个月前 |
| init commit | 6 个月前 |
| add performance mxfp4 tiling Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !55 merge master into master add performance mxfp4 tiling Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 performance mxfp4 添加 tiling & 切换为 tensor api 接口 ## 关联的Issue [#36](https://gitcode.com/cann/cann-samples/issues/36) ## 测试 自测试,精度 pass cmake -S . -B build cmake --build build --parallel cmake --install build --prefix ./build_out 执行: python3 build_out/2_Performance/matmul_story/matmul_stubs/examples/quant_matmul_mxfp4/gen_data.py 8192 16384 8192 ./build_out/2_Performance/matmul_story/matmul_stubs/examples/quant_matmul_mxfp4/quant_matmul_mxfp4_swat 8192 16384 8192 ## 文档更新 2_Performance\matmul_story\matmul_recipes\examples\quant_matmul_mxfp4\README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!55 | 5 个月前 |
| submodule引入tensorapi源码并适配所有sample Co-authored-by: chen-shuai<chenshuai96@huawei.com> # message auto-generated for no-merge-commit merge: !207 merge submodule_tensorapi into master submodule引入tensorapi源码并适配所有sample Created-by: chen-shuai Commit-by: chen-shuai Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 tensor_api 从仓内源码方式调整为 Git submodule 引入,并同步适配 samples 中使用 Tensor API 的代码。 ### 主要改动 1. 引入 ops-tensor submodule - 新增 third_party/tensor_api submodule - submodule 地址:https://gitcode.com/cann/ops-tensor.git - 跟踪分支:master 2. 调整 CMake 依赖初始化 - 在 cmake/tensor_api.cmake 中增加 submodule 自动初始化逻辑 - 编译前通过 git submodule update --init --recursive third_party/tensor_api 拉取依赖 - 将 Tensor API include 路径调整为 third_party/tensor_api/include/tensor_api 3. 适配新 Tensor API 接口 - 更新 Samples/0_Introduction、Samples/1_Features、Samples/2_Performance 中使用 Tensor API 的样例 - include/tensor.h 调整为 include/tensor_api/tensor.h - Make*memPtr 迁移为 MakeMemPtr<Location::*> - Make*Layout 迁移为 MakeFrameLayout - Tensor 切片调用迁移为 .Slice(...) - CopyL12L0 拆分适配为 CopyL12L0A / CopyL12L0B - MakeMad / Mad 迁移为 MakeMmad / Mmad - MmadParams 调整到 AscendC::Te 命名空间 4. 适配 Matmul / Grouped Matmul MX 样例 - 更新 MX 量化 Matmul、Grouped Matmul 相关 block/kernel/tile 实现 - 移除仓内旧版 copy_scale_gm_to_l1.h 实现,改为使用新版 Tensor API 能力 - 调整 MX MMAD trait 与相关 layout/memory pointer 使用方式 5. 补充 Ascend include 路径 - cmake/ascend.cmake 中新增 ${ASCEND_DIR}/asc include 路径 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/cann-samples/issues/140 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 回归所有sample精度 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!207 | 4 个月前 |
| 支持通过 NPU_ARCH 配置样例编译架构 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !208 merge codex/npu-arch-simplify into master 支持通过 NPU_ARCH 配置样例编译架构 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: ## 描述 本 PR 简化 NPU_ARCH 配置方式: - 根 CMake 增加 NPU_ARCH 必填和合法性校验,支持 dav-3510、dav-2201。 - 各 sample 入口 CMake 本地声明支持架构,不支持当前 NPU_ARCH 时在配置阶段跳过,不创建 target、不参与编译和安装。 - 将 AscendC 编译参数中的固定 --npu-arch=dav-3510 改为 --npu-arch=${NPU_ARCH}。 - 更新 CI 构建脚本,支持通过参数选择目标 NPU 架构: - 编译 Ascend950 时使用 dav-3510:bash .ci/build.sh dav-3510。 - 编译 Ascend910B/C 时使用 dav-2201:bash .ci/build.sh dav-2201。 - 未传参数时默认使用 dav-3510,即 bash .ci/build.sh 等价于 bash .ci/build.sh dav-3510,兼容现有 CI 平台调用。 - 同步更新 README、CONTRIBUTING 和各样例 README / run.sh 中的构建命令;项目 README 明确说明 Ascend950 对应 dav-3510、Ascend910B/C 对应 dav-2201,并以 Ascend950 为例给出 CMake 配置命令。 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/133 - https://gitcode.com/cann/cann-samples/issues/125 ## 测试 - 本地静态检查:确认非 third_party 文档中不再存在未带 NPU_ARCH 的根工程 cmake 配置示例,确认 CMake 中不再存在 --npu-arch=dav-3510。 - 本地脚本检查:bash -n .ci/build.sh 及相关 run.sh,git diff --check。 - 远端 Ascend950:/home/zhangzijie/workspace/cann-samples-fork: - cmake -S . -B build:按预期报缺少 NPU_ARCH,并提示示例命令。 - cmake -S . -B build -DNPU_ARCH=invalid:按预期报非法 NPU_ARCH。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build -DNPU_ARCH=dav-3510 && cmake --build build --parallel:通过。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build_dav2201_test -DNPU_ARCH=dav-2201 && cmake --build build_dav2201_test --parallel && cmake --build build_dav2201_test --target help:通过,仅 vector_add 生效。 - ./build/Samples/0_Introduction/vector_add/vector_add:通过,输出 Vector add completed successfully!。 - ./build/Samples/0_Introduction/matmul/matmul 100 50 200:通过,输出 matmul run successfully!。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh:通过,默认 dav-3510,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-3510:通过,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-2201:通过,仅打包 vector_add,生成并校验 build_out_dav-2201_21ae5b4.zip。 ## 文档更新 更新 README.md、CONTRIBUTING.md、相关 Samples README 和调用 .ci/build.sh 的 run.sh。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!208 | 4 个月前 |
| 支持通过 NPU_ARCH 配置样例编译架构 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !208 merge codex/npu-arch-simplify into master 支持通过 NPU_ARCH 配置样例编译架构 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: ## 描述 本 PR 简化 NPU_ARCH 配置方式: - 根 CMake 增加 NPU_ARCH 必填和合法性校验,支持 dav-3510、dav-2201。 - 各 sample 入口 CMake 本地声明支持架构,不支持当前 NPU_ARCH 时在配置阶段跳过,不创建 target、不参与编译和安装。 - 将 AscendC 编译参数中的固定 --npu-arch=dav-3510 改为 --npu-arch=${NPU_ARCH}。 - 更新 CI 构建脚本,支持通过参数选择目标 NPU 架构: - 编译 Ascend950 时使用 dav-3510:bash .ci/build.sh dav-3510。 - 编译 Ascend910B/C 时使用 dav-2201:bash .ci/build.sh dav-2201。 - 未传参数时默认使用 dav-3510,即 bash .ci/build.sh 等价于 bash .ci/build.sh dav-3510,兼容现有 CI 平台调用。 - 同步更新 README、CONTRIBUTING 和各样例 README / run.sh 中的构建命令;项目 README 明确说明 Ascend950 对应 dav-3510、Ascend910B/C 对应 dav-2201,并以 Ascend950 为例给出 CMake 配置命令。 ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/133 - https://gitcode.com/cann/cann-samples/issues/125 ## 测试 - 本地静态检查:确认非 third_party 文档中不再存在未带 NPU_ARCH 的根工程 cmake 配置示例,确认 CMake 中不再存在 --npu-arch=dav-3510。 - 本地脚本检查:bash -n .ci/build.sh 及相关 run.sh,git diff --check。 - 远端 Ascend950:/home/zhangzijie/workspace/cann-samples-fork: - cmake -S . -B build:按预期报缺少 NPU_ARCH,并提示示例命令。 - cmake -S . -B build -DNPU_ARCH=invalid:按预期报非法 NPU_ARCH。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build -DNPU_ARCH=dav-3510 && cmake --build build --parallel:通过。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && cmake -S . -B build_dav2201_test -DNPU_ARCH=dav-2201 && cmake --build build_dav2201_test --parallel && cmake --build build_dav2201_test --target help:通过,仅 vector_add 生效。 - ./build/Samples/0_Introduction/vector_add/vector_add:通过,输出 Vector add completed successfully!。 - ./build/Samples/0_Introduction/matmul/matmul 100 50 200:通过,输出 matmul run successfully!。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh:通过,默认 dav-3510,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-3510:通过,生成并校验 build_out_dav-3510_21ae5b4.zip。 - source /home/zhangzijie/Ascend/ascend-toolkit/set_env.sh && bash .ci/build.sh dav-2201:通过,仅打包 vector_add,生成并校验 build_out_dav-2201_21ae5b4.zip。 ## 文档更新 更新 README.md、CONTRIBUTING.md、相关 Samples README 和调用 .ci/build.sh 的 run.sh。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!208 | 4 个月前 |
| init commit | 6 个月前 |
| 规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !134 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!134 | 5 个月前 |
| docs: 更新已验证 CANN Toolkit 列表 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !209 merge codex/update-readme-cann-toolkit-20260422000325096 into master docs: 更新已验证 CANN Toolkit 列表 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: cann-robot Description: ## 描述 更新根目录 README.md 中“已验证通过的社区版 CANN Toolkit”列表,补充时间戳 20260422000325096 的验证通过记录。 下载链接已按该 legacy 目录的实际结构调整为具体 toolkit .run 文件: - Ascend-cann-toolkit_9.0.0_linux-aarch64.run - Ascend-cann-toolkit_9.0.0_linux-x86_64.run ## 关联的Issue 关联 Issue:https://gitcode.com/cann/cann-samples/issues/134 ## 测试 - 已执行 git diff --check -- README.md - 已确认 https://ascend.devcloud.huaweicloud.com/artifactory/cann-run-mirror/software/legacy/20260422000325096/ 目录下直接提供 toolkit .run 文件 - 纯文档更新,未进行远端编译或运行验证 ## 文档更新 更新 README.md 中已验证通过的社区版 CANN Toolkit 列表,并修正新增版本的下载链接。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!209 | 4 个月前 |
| init commit | 6 个月前 |
| init commit | 6 个月前 |
| init commit | 6 个月前 |
| Clean up MXFP4 timing and verification flows Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !132 merge master into master Clean up MXFP4 timing and verification flows Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 本 PR 对 Samples/2_Performance/matmul_story 中 MXFP4 相关样例做了一组问题修复和一致性整理,主要包括以下内容: 1. quant_matmul_mxfp4 示例移除基于 aclrtEvent 的计时逻辑: - quant_matmul_mxfp4_a_full_load.cpp - quant_matmul_mxfp4_swat.cpp 2. quant_matmul_mxfp4_algorithm_recommend.py 调整为通过 msprof 获取 kernel 耗时: - 使用 msprof --output=./msprof_recommend --application="./<executable> m k n" 采集 profiling 数据 - 每个候选算法执行两次,第一次用于预热,第二次作为最终耗时 - 从 msprof_recommend/PROF_*/mindstudio_profiler_output/op_summary_*.csv 中读取 Task Duration(us) 作为 kernel 耗时 - 推荐流程结束后自动清理 msprof_recommend 临时目录 3. matmul_tutorials 下所有 tutorial .cpp 删除基于 event 的计时代码,并补齐缺失的结果校验逻辑: - 统一删除 aclrtEvent 相关变量、创建、记录、统计和输出逻辑 - 对原先未执行 verify_result.py 的 tutorial 样例补充自动校验流程 4. 文档更新: - 更新 quant_matmul_mxfp4/README.md - 补充当前样例仅支持 A 不转置、B 转置,即 A 为 [M, K]、B 为 [N, K],两侧 K 轴位于内轴 - 同步更新算法推荐脚本基于 msprof 的行为说明 5. 依赖声明更新: - 修正 requirements.txt - 补充样例脚本实际使用到的 Python 依赖及版本信息 ## 关联的Issue 关联 Issue: https://gitcode.com/cann/cann-samples/issues/70 ## 测试 bash cmake -S . -B build cmake --build build --parallel cmake --install build --prefix ./build_out cd build_out/2_Performance/matmul_story/matmul_recipes/examples/quant_matmul_mxfp4 python3 quant_matmul_mxfp4_algorithm_recommend.py 256 256 256 ## 文档更新 本 PR 更新了以下文档/依赖说明: - Samples/2_Performance/matmul_story/matmul_recipes/examples/quant_matmul_mxfp4/README.md - requirements.txt ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:样例校验流程、profiling 脚本逻辑和 Python 依赖声明修正 See merge request: cann/cann-samples!132 | 5 个月前 |