| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
hifloat8 operator Co-authored-by: lijunjie147<lijunjie147@huawei.com> # message auto-generated for no-merge-commit merge: !6016 merge hif8 into master hifloat8 operator Created-by: lijunjie147 Commit-by: lijunjie147 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增hif8数据类型算子实践文档。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6016 | 25 天前 | |
修文档中废弃接口及原子操作相关错误描述 Co-authored-by: g00954335<guorenjie3@huawei.com> # message auto-generated for no-merge-commit merge: !6493 merge 2026_09_29_new_fix-agent-scanned-docs-examples-issues into master 修文档中废弃接口及原子操作相关错误描述 Created-by: GRJ_XIDUO Commit-by: g00954335 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 分支文档中已废弃或不存在接口的错误使用: - 删除中英文API选型、C API贡献指南和代码风格文档中关于 _sync同步接口的失效说明及示例。 - 将Reg矢量计算示例中的MASK_PATTERN_ALL、asc_adds和asc_muls替换为当前有效的PAT_ALL、asc_add_scalar和asc_mul_scalar。 - 修正C API贡献指南中的接口声明路径和调用模式说明。 修复原子操作分类和样例支持范围: - 将SetStoreAtomicConfig、GetStoreAtomicConfig及对应C API归入标量原子操作,并补充标量原子操作与数据搬运随路原子操作的差异。 - 补充set_atomic_deterministic_computation样例对Ascend 950PR/Ascend 950DT的支持说明。 修复data_copy_gm2l1中英文样例文档,将错误的asc_set_l0c2gm_config和quant_pre更正为样例实际使用的asc_set_l0c_copy_config和 quant_pre_addr。 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1812 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6493 | 25 天前 | |
修改 helloworld 样例/资料 Co-authored-by: louyuxuan<louyuxuan@huawei.com> # message auto-generated for no-merge-commit merge: !6507 merge docs into master 修改 helloworld 样例/资料 Created-by: louyuxuan Commit-by: louyuxuan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改 helloworld 样例/资料,简化代码,资料中补充完整代码实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> [#1777](https://gitcode.com/cann/asc-devkit/issues/1777) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> SIMT 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/guide/getting_started/quick_start/simt_programming/hello_world.md examples/03_simt_api/00_introduction/00_quickstart/hello_world_simt/README.md examples/03_simt_api/00_introduction/00_quickstart/hello_world_simt/README_en.md examples/03_simt_api/00_introduction/00_quickstart/hello_world_simt/hello_world.asc ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!6507 | 17 天前 | |
style: ruff 配置行宽 120 并关闭 magic trailing comma Co-authored-by: zhangyujia77<zhangyujia37@huawei.com> # message auto-generated for no-merge-commit merge: !6286 merge style/ruff-line-length-120 into master style: ruff 配置行宽 120 并关闭 magic trailing comma Created-by: zhangyujia77 Commit-by: zhangyujia77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ruff.toml 新增两项配置并据此重排全仓 Python 代码: line-length = 120 行宽从默认 88 放宽到 120 [format] skip-magic-trailing-comma = true 忽略末尾逗号的强制展开语义 ### 为什么改 line-length ruff 的 line-length 此前**从未在仓库任何地方配置过** —— ruff.toml 只设了target-version,全仓搜 line-length 零命中,pre-commit 的 ruff hook 也没传参。 所以生效值 88 是 ruff 内置默认(沿用 Black 的约定),**不是评估过的技术决策**: $ ruff check --show-settings Settings path: ".../asc-devkit/ruff.toml" linter.line_length = 88 120 有三层依据: 1. **本仓 C++ 侧已定 120** —— .clang-format: ColumnLimit: 120。同一仓库 C++ 120、Python 88 本身不一致。 2. **CANN 生态其余 Python 仓统一为 120** —— pyasc、pypto、pto-isa、ops-test-kit、vllm-ascend(ruff),torch_npu、pytorch(flake8)。asc-devkit 是其中唯一没配的。 3. **本仓 Python 历史上事实遵守 120** —— ruff-format 落地前,非空行 P99.5 = 119,99.82% 的行 ≤ 120;超 120 的 38 行基本是嵌在 Python 里的 C++ 模板与宏定义。 88 列会把多参数调用强制拆成逐参数一行,一条语句常常变 3-5 行: python # 前(1 行) raise RuntimeError("Length of ASCENDC_TPL_UINT_{} {} is too short.".format(self.macro_type, self.name)) # 后(5 行) raise RuntimeError( "Length of ASCENDC_TPL_UINT_{} {} is too short.".format( self.macro_type, self.name ) ) ### 为什么关 magic trailing comma 末尾逗号会让 ruff-format 强制保持展开,即使该行放得下。统计范围内现存 886 处此类逗号,**绝大多数是 88 列时期 ruff 自己折行时补上的,并非作者意图** ——换到 120 列后这些调用本可收拢,却因那个自动留下的逗号继续保持展开。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [x] 🧹 chore: 代码格式修改 See merge request: cann/asc-devkit!6286 | 1 个月前 | |
新增SIMD与SIMT混合编程Softmax性能调优样例 Co-authored-by: Lyear-iu<liuyi424@huawei.com> # message auto-generated for no-merge-commit merge: !5793 merge codex/simd-simt-softmax-sample into master 新增SIMD与SIMT混合编程Softmax性能调优样例 Created-by: liuyi424 Commit-by: Lyear-iu Merged-by: cann-robot Description: ## 描述 新增 examples/05_simd_simt_hybrid/02_best_practices/simd_simt_softmax 样例,以按行计算的softmax(最后一维不超过512)为例,展示SIMD与SIMT混合编程场景下行内规约的调优路径: - Case 0:SIMT VF直接读GM基线,一个Warp处理一行,Warp规约完成行内max/sum; - Case 1:MTE搬入UB中转,双份tile缓冲区轮换,搬运与计算流水重叠; - Case 2:按cols上界(64/128/256/384/512)生成编译期bucket模板kernel,定长数组中间值驻留寄存器,Host侧按shape动态选择线程数。 三个Case通过编译选项 SCENARIO_NUM 选择。同时更新 05_simd_simt_hybrid 上层README与 02_best_practices 样例索引(中英文)。 ## 关联的Issue [新增SIMD与SIMT混合编程Softmax性能调优样例](https://gitcode.com/cann/asc-devkit/issues/1648) ## 测试 - Ascend 950PR(dav-3510,64 AIV核)上板验证:SCENARIO_NUM=0/1/2 三档编译通过,默认shape [8192, 197] 精度校验通过([Success] Case accuracy verification passed.);自定义shape(如4096x65)与rows小于AIV核数的边界shape(如32x37)均通过。 ## 文档更新 新增样例中英文README(README.md/README_en.md);更新 examples/05_simd_simt_hybrid/README.md、README_en.md 与 examples/05_simd_simt_hybrid/02_best_practices/README.md、README_en.md 的样例列表。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5793 | 1 个月前 | |
docs: 为docs和examples目录的README添加中英文跳转链接 Co-authored-by: ai_xin<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !5617 merge master into master docs: 为docs和examples目录的README添加中英文跳转链接 Created-by: ai_xin Commit-by: ai_xin Merged-by: cann-robot Description: ## 描述 为docs和examples目录的README添加中英文跳转链接 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了README.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5617 | 1 个月前 | |
docs: 为docs和examples目录的README添加中英文跳转链接 Co-authored-by: ai_xin<aixin2@hisilicon.com> # message auto-generated for no-merge-commit merge: !5617 merge master into master docs: 为docs和examples目录的README添加中英文跳转链接 Created-by: ai_xin Commit-by: ai_xin Merged-by: cann-robot Description: ## 描述 为docs和examples目录的README添加中英文跳转链接 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 更新了README.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5617 | 1 个月前 |
Ascend C样例
简体中文 | English
本目录提供Ascend C不同编程方式的使用样例,覆盖基础调用、调试工具、功能特性、API类库和性能实践等内容。
样例列表
| 目录名称 | 内容说明 |
|---|---|
| 01_simd_cpp_api | Ascend C C++ API样例,覆盖入门、工具、功能特性、API类库、最佳实践、兼容性参考和Tensor API编程样例 |
| 02_simd_c_api | Ascend C C API样例,覆盖基础调用、工具能力和接口特性 |
| 03_simt_api | Ascend C SIMT编程样例,覆盖入门、调试工具、核心特性和实践参考 |
| 04_aicpu | Ascend C AICPU编程样例,覆盖入门和功能特性 |
| 05_simd_simt_hybrid | Ascend C SIMD与SIMT混合编程样例,覆盖入门和高性能优化样例 |
npu-arch编译选项说明
开发者需根据实际执行环境,修改具体样例目录下CMakeLists.txt文件中的--npu-arch编译选项。产品型号与npu-arch参数的对应关系如下。
| 产品型号 | npu-arch参数 |
|---|---|
| Ascend 950PR/Ascend 950DT | --npu-arch=dav-3510 |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 Atlas A2 训练系列产品/Atlas A2 推理系列产品 |
--npu-arch=dav-2201 |
| Atlas 推理系列产品AI Core | --npu-arch=dav-2002 |