| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
example_tensor_api_snake Co-authored-by: watermelon_milk<NSvQ5oaBy439Dy3ewqp32tDq> # message auto-generated for no-merge-commit merge: !5071 merge tensor_snake into master example_tensor_api_snake Created-by: watermelon_milk Commit-by: watermelon_milk Merged-by: cann-robot Description: ## 描述 example样例切换snake风格 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5071 | 1 个月前 | |
修复issue 1409和issue 1472 Co-authored-by: cgcaof<caochenguang1@h-partners.com> # message auto-generated for no-merge-commit merge: !5100 merge master into master 修复issue 1409和issue 1472 Created-by: cgcaof Commit-by: cgcaof Merged-by: cann-robot Description: ## 描述 修复issue 1409,文档链接指向错误 修复issue 1472,链接名称错误 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1409 https://gitcode.com/cann/asc-devkit/issues/1472 ## 测试 不涉及 ## 文档更新 docs/zh/guide/算子实践参考/SIMD算子实现/融合算子编程/CV融合/算子实现.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5100 | 2 个月前 | |
feat: support custom simplified key compilation Co-authored-by: UFOunder<zhangxiru1@huawei.com> Co-authored-by: m0_56712298<wukeran@huawei.com> # message auto-generated for no-merge-commit merge: !5089 merge feature/individual-op-custom-simplified-key-core into master feat: support custom simplified key compilation Created-by: m0_56712298 Commit-by: UFOunder;m0_56712298 Merged-by: cann-robot Description: ## 描述 支持自定义 simplified key 的编译流程:通过 kernel options 传递 BINARY_JSON 和最终 simplified key 配置,按自定义 JSON 拆分 Kernel,并在编译入口校验 op_type、bin_filename、simplified_key、dtype、format 和 shape;自定义 simplifiedKey 时由 asc_opc 选择模式 2。 本次将示例从现有多算子 custom_op 中拆出,新增独立的 custom_op_simplified_key 工程;原 custom_op 恢复为基线行为,BINARY_JSON 按原工程约定放在新样例的 op_host/config/ascend910b 目录。 ## 关联的Issue 无 ## 测试 1. pytest -q tests/python/asc_opc/test_custom_binary_json_validation.py:15 passed。 2. 对修改后的 Python 文件执行 py_compile。 3. 原 custom_op 和新 custom_op_simplified_key 的 AddCustomTemplate_ascend910b 编译通过。 4. 新样例完整 binary package 构建通过,生成 FP16/FP32 Kernel Binary、simplifiedKeyMode=2 和 binary_info_config.json。 ## 文档更新 新增 custom_op_simplified_key/README.md、README_en.md,并更新 Compilation 样例索引。 ## 类型标签 - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [x] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5089 | 1 个月前 | |
fix: replace MicroAPI namespace in examples Co-authored-by: flyingXLB<sz2516004@nuaa.edu.cn> # message auto-generated for no-merge-commit merge: !5280 merge fix/examples-microapi-to-reg into master fix: replace MicroAPI namespace in examples Created-by: flyingXLB Commit-by: flyingXLB Merged-by: cann-robot Description: ## 描述 本 PR 是一个示例代码的命名空间修正(chore 类改动):将两个 SIMD C++ API 示例中 LoadAlign / StoreAlign 调用所使用的 PostLiteral 枚举引用从 AscendC::MicroAPI::PostLiteral 替换为 AscendC::Reg::PostLiteral,使示例与 Reg 命名空间下的实际定义保持一致。 ## 关联的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!5280 | 1 个月前 | |
fix:fmod gen error Co-authored-by: haipingmao<maohaiping@huawei.com> # message auto-generated for no-merge-commit merge: !5372 merge br_fix_docs into master fix:fmod gen error Created-by: haipingmao Commit-by: haipingmao Merged-by: cann-robot Description: ## 描述 修复Fmod高阶API样例的数据生成问题。 原数据生成脚本使用如下方式生成 src0: python src0 = generate_random_data(0.0, 0.0, [159], dtype) 由于随机范围上下限相同,generate_random_data会通过np.full生成159 个0.0。根据Fmod计算公式: Fmod(x, y) = x - Trunc(x / y) * y 当src0为0且src1非0时,计算结果始终为0。因此原样例生成的src0和 golden数据全部为0,导致精度验证退化。即使Kernel错误地始终输出0, 样例也可能通过,无法有效验证Fmod的正常取余逻辑。 ## 修改方案 修改文件: examples/01_simd_cpp_api/04_advanced_api/10_math/fmod/scripts/ gen_data.py 具体修改如下: 1. 固定随机种子 np.random.seed(123321) 保证每次生成的数据一致,避免CI测试数据随机变化。同时避免随机数据 偶发落在整数商边界附近,引入不同硬件实现之间的舍入差异。 2. 修改被除数src0的数据范围 src0 = generate_random_data(-10.0, 10.0, src_shape, dtype) 使用跨正负数的非退化随机区间,避免输入全部为0,并覆盖正、负被除 数场景。 3. 保证除数src1非0并覆盖正负值 src1 = generate_random_data(0.5, 5.0, src_shape, dtype) src1[1::2] = -src1[1::2] 先生成绝对值范围为[0.5, 5.0]的除数,再将奇数位置改为负数: - 明确避免除数为0。 - 避免除数过小导致商过大或精度不稳定。 - 同时覆盖正除数和负除数场景。 4. 注入固定测试数据 src0[:4] = [2.0, 2.0, -3.0, -3.0] src1[:4] = [1.5, -1.5, 1.1, -1.1] 前4组数据用于覆盖被除数和除数的四种符号组合: | src0 | src1 | 预期结果 | 场景| |-------|--------|---------|-------| | 2.0 | 1.5 | 0.5 | 正被除数、正除数| | 2.0 | -1.5 | 0.5 | 正被除数、负除数| | -3.0 | 1.1 | 约-0.8 | 负被除数、正除数 | | -3.0 | -1.1 | 约-0.8 | 负被除数、负除数 | 其中Fmod(2.0, 1.5)和Fmod(-3.0, 1.1)与样例README中的计算示例保持 一致。 该设计还可以验证Fmod余数符号跟随被除数src0,不受除数src1符号影 响。 ## 影响范围 本次修改仅涉及Fmod样例的Python数据生成脚本: - 不修改Fmod高阶API实现。 - 不修改Kernel代码及调用方式。 - 不修改输入输出shape和数据类型。 - 输入、输出及计算元素数量仍为159。 - 不引入新的AscendC API。 ## 测试 已完成以下验证: - 数据生成脚本执行成功。 - 生成的src1不包含0,绝对值范围约为[0.54, 5.00]。 - 生成的159个golden结果均为有限非零值。 - 前4个golden结果为: [0.5, 0.5, -0.79999995, -0.79999995] - 使用float32模拟Fmod计算路径,结果与np.fmod的最大绝对误差约为 3.58e-7,低于样例现有的1e-4精度阈值。 - 使用相同随机种子重复执行,生成文件内容一致。 ## 关联Issue 关联的Issue [#1480](https://gitcode.com/cann/asc-devkit/issues/1480) ## 文档更新 无需更新文档。固定测试数据与README中已有的Fmod计算示例保持一致。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5372 | 1 个月前 | |
example_tensor_api_snake Co-authored-by: watermelon_milk<NSvQ5oaBy439Dy3ewqp32tDq> # message auto-generated for no-merge-commit merge: !5071 merge tensor_snake into master example_tensor_api_snake Created-by: watermelon_milk Commit-by: watermelon_milk Merged-by: cann-robot Description: ## 描述 example样例切换snake风格 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5071 | 1 个月前 | |
修复issue 1409和issue 1472 Co-authored-by: cgcaof<caochenguang1@h-partners.com> # message auto-generated for no-merge-commit merge: !5100 merge master into master 修复issue 1409和issue 1472 Created-by: cgcaof Commit-by: cgcaof Merged-by: cann-robot Description: ## 描述 修复issue 1409,文档链接指向错误 修复issue 1472,链接名称错误 ## 关联的Issue https://gitcode.com/cann/asc-devkit/issues/1409 https://gitcode.com/cann/asc-devkit/issues/1472 ## 测试 不涉及 ## 文档更新 docs/zh/guide/算子实践参考/SIMD算子实现/融合算子编程/CV融合/算子实现.md ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 fix: Bug 修复 - [ ] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5100 | 2 个月前 | |
fix example | 1 个月前 | |
example_tensor_api_snake Co-authored-by: watermelon_milk<NSvQ5oaBy439Dy3ewqp32tDq> # message auto-generated for no-merge-commit merge: !5071 merge tensor_snake into master example_tensor_api_snake Created-by: watermelon_milk Commit-by: watermelon_milk Merged-by: cann-robot Description: ## 描述 example样例切换snake风格 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5071 | 1 个月前 | |
example_tensor_api_snake Co-authored-by: watermelon_milk<NSvQ5oaBy439Dy3ewqp32tDq> # message auto-generated for no-merge-commit merge: !5071 merge tensor_snake into master example_tensor_api_snake Created-by: watermelon_milk Commit-by: watermelon_milk Merged-by: cann-robot Description: ## 描述 example样例切换snake风格 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #xxx--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 fix: Bug 修复 - [x] ✨ feat: 新功能 - [ ] ⚡ perf: 性能优化 - [ ] ♻️ refactor: 代码重构 - [ ] 🧪 test: 新增或修改测试 - [ ] 📝 docs: 文档更新 - [ ] 🔧 ci: CI/CD 配置修改 - [ ] ↩️ revert: 回退 - [ ] 🧹 chore: 其他,请具体描述 See merge request: cann/asc-devkit!5071 | 1 个月前 |
样例列表
| 目录名称 | 功能描述 |
|---|---|
| 00_introduction | 基于Ascend C的简单示例,通过Ascend C编程语言实现自定义功能,分别给出对应的<<<>>>直调实现 |
| 01_utilities | 基于Ascend C的简单样例,通过printf、assert、DumpTensor等API介绍上板打印、异常检测、CPU孪生调试等系统工具使用方法,适用于调试阶段 |
| 02_features | 基于Ascend C特性样例,介绍了Aclnn(ge入图)工程、LocalMemAllocator、Barrier单独内存申请分配等特性 |
| 03_basic_api | 基于Ascend C基础API样例,介绍了数据搬运、计算等基础API的使用方法 |
| 04_advanced_api | 基于Ascend C API类库的使用样例,通过<<<>>>直调的实现方式,介绍了数学库、激活函数等API类库 |
| 05_best_practices | 基于Ascend C的性能优化实践,聚焦于关键计算与内存访问的调优,旨在提升在Ascend平台上的运行效率 |
| 06_compatibility_guide | 针对不兼容的特性,提供兼容性样例 |
| 07_tensor_api | 基于Tensor API编程方式的样例,涵盖数据搬运、矩阵计算、卷积计算和高性能矩阵乘实践 |