| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 新增 RegBase/VF 编程模型入门样例 vector_function_add Co-authored-by: xutianze<xutianze2@huawei.com> # message auto-generated for no-merge-commit merge: !369 merge master into master feat: 新增 RegBase/VF 编程模型入门样例 vector_function_add Created-by: songkai111 Commit-by: xutianze Merged-by: cann-robot Description: ## 描述 新增 RegBase / Vector Function(VF)编程模型入门样例 vector_function_add,作为 RegBase 编程模型的 Hello World 可运行样例,与 [vector_add](../vector_add)(TQue / MemBase 模型)对照学习两种编程模型的差异。同时简化 vector_add kernel,合并主循环与尾块处理。 - **vector_function_add**:计算在 __simd_vf__ 函数中通过 AscendC::Reg::* API 在 Vector 寄存器上完成(Load -> Add -> Store,中间结果不往返 UB);UpdateMask 自动处理尾块;block / tile 两级切分支持多 Vector Core 并行;内置 CPU 精度对比。 - **vector_add/main.asc**:简化 kernel,合并主循环与尾块分支,用 tileElementNum 统一处理每轮 tile 元素数。 - **CMakeLists.txt / README.md**:注册并介绍新样例。 ## 关联的Issue - #244: 新增 RegBase / MemBase 编程模型的可运行样例 ## 测试 - 仅 Ascend 950(dav-3510)编译运行,dav-2201 自动跳过(cann_sample_check_arch(dav-3510))。 - 测试长度 409603(非寄存器宽度整数倍)验证 Mask 对尾块的自适应处理;样例内置 CPU 精度对比,成功时打印 Vector function add completed successfully!。 ## 文档更新 - Samples/0_Introduction/README.md:新增 vector_function_add 样例介绍 - Samples/0_Introduction/vector_function_add/README.md:新增样例使用说明 ## 类型标签 - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!369 | 1 天前 | |
添加 matmul A5新特性 - CV数据通路优化样例 cv_datapath Co-authored-by: c00943476<chenlyucheng@huawei.com> # message auto-generated for no-merge-commit merge: !348 merge master into master 添加 matmul A5新特性 - CV数据通路优化样例 cv_datapath Created-by: oscillated Commit-by: c00943476 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 添加 matmul A5新特性 - CV数据通路优化样例(Samples/1_Features/hardware_features/cv_datapath)。 以 matmul + relu 融合算子为例,介绍 CV数据通路 的950算子新特性及优化。 - Scenario0:CV分离执行 - Scenario1:CV融合 + GM中转 - Scenario2:CV融合 + UB直通 相关编译及测试命令见样例README.md对应章节。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 样例算子精度验证通过。 进行样例算子性能对比及流水分析,见README.md对应章节。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 限制说明 - 仅支持 NPU_ARCH=dav-3510 See merge request: cann/cann-samples!348 | 8 天前 | |
docs: 修复文档链接、拼写错误并补充目录入口与Perf Story索引 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !366 merge master into master docs: 修复文档链接、拼写错误并补充目录入口与Perf Story索引 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修复 cann-samples 文档中的链接错误、拼写问题,并补充 README 中缺失的目录入口和 Perf Story 条目。 ### 改动详情 - **README.md**:补充 3_Utilities 目录入口(快速入门表与文件结构)、更新 Perf Stories 徽章计数 9→13 - **Samples/0_Introduction/npu_execution/README.md**:修复 3 处拼写/描述错误(参数v→参数、piblic→public、静态kernel→动态kernel) - **Samples/2_Performance/README.md**:新增 flash_attn_lite_story、scalar_story、simd_vf_story 三个 Perf Story 索引条目 - **Samples/2_Performance/matmul_story/docs/quant_matmul_mxfp4_tutorials.md**:修复损坏的相对链接 ## 关联的Issue - fix #238 - fix #239 - fix #240 - fix #241 - fix #242 ## 测试 文档修改,无需测试。 ## 文档更新 - [x] README.md - [x] Samples/0_Introduction/npu_execution/README.md - [x] Samples/2_Performance/README.md - [x] Samples/2_Performance/matmul_story/docs/quant_matmul_mxfp4_tutorials.md ## 类型标签 - [x] 文档更新 See merge request: cann/cann-samples!366 | 2 天前 | |
refactor(cmake): extract arch check boilerplate into cann_sample_check_arch() macro Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !352 merge master into master refactor(cmake): extract arch check boilerplate into cann_sample_check_arch() macro Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将 29 个 sample CMakeLists.txt 中重复的架构校验样板(SUPPORTED_NPU_ARCHS + skip message)提取到 cmake/sample_common.cmake 的 cann_sample_check_arch() 宏中。 每个 leaf sample 的 CMakeLists.txt 从原来的 5 行 boilerplate 缩减为 1 行宏调用: cmake # Before (5 行) set(SUPPORTED_NPU_ARCHS dav-3510) file(RELATIVE_PATH SAMPLE_PATH ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) if(NOT "${NPU_ARCH}" IN_LIST SUPPORTED_NPU_ARCHS) message(STATUS "Skip sample ${SAMPLE_PATH}: NPU_ARCH=${NPU_ARCH} is not supported") return() endif() # After (1 行) cann_sample_check_arch(dav-3510) 变更涉及 30 个文件,净减少 144 行(185 删除,41 新增)。 ### 改动原因 49 个 sample CMakeLists.txt 中每个都独立实现了完全相同的架构校验逻辑,存在维护成本高和一致性衰减问题。这是 Issue #226 中提到的 CMake 样板代码重复问题的务实第一步。 ### 改动方法 - 新增 cmake/sample_common.cmake:定义 cann_sample_check_arch() 宏,封装架构校验逻辑 - 根 CMakeLists.txt 添加 include(cmake/sample_common.cmake) - 逐个迁移 29 个 leaf sample CMakeLists.txt(保留了三种架构配置:dav-3510、dav-2201、dav-2201 dav-3510) - 未修改中间 dispatcher CMakeLists.txt 和继承父级架构检查的子目录(如 matmul_tutorials) ## 关联的Issue - https://gitcode.com/cann/cann-samples/issues/226 ## 测试 - 远程 Git Hook 检查通过(推送前) - 代码逻辑等价替换,架构校验行为无变化 - 宏变量使用下划线前缀(_cann_sample_expected_archs、_cann_sample_path)避免与 sample 本地变量冲突 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:CMake 构建系统重构(消除重复样板代码) See merge request: cann/cann-samples!352 | 11 天前 | |
add histogram story sample Co-authored-by: gavinhhr<2803677117@qq.com> # message auto-generated for no-merge-commit merge: !350 merge simt_histogram_story into master add histogram story sample Created-by: gavinhhr Commit-by: gavinhhr Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加 Histogram A5 Sample ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/cann-samples/issues/227 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 4 cases 均通过 cmake 构建(dav-3510)并在 Ascend950 NPU 真机运行,精度校验 PASS。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了本 Story 的 README 文件 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/cann-samples!350 | 6 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 天前 | ||
| 8 天前 | ||
| 2 天前 | ||
| 11 天前 | ||
| 6 天前 |