| Files | Last commit | Last update |
|---|---|---|
[MC2] 添加MC2融合算子开发教程 Co-authored-by: adamlwang<wangjingquan2@huawei.com> Co-authored-by: w00951525<wangfuhao7@huawei.com> Co-authored-by: WangShuying5<wangshuying5@huawei.com> # message auto-generated for no-merge-commit merge: !65 merge add_mc2_op_files into master [MC2] 添加MC2融合算子开发教程 Created-by: w00951525 Commit-by: w00951525;WangShuying5;adamlwang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!65 | 2 months ago | |
fix: update TQue queue depth from feat/update-tque-queue-depth branch Co-authored-by: ink-polymer<2020611156@qq.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> # message auto-generated for no-merge-commit merge: !362 merge fix/update-tque-queue-depth into master fix: update TQue queue depth from feat/update-tque-queue-depth branch Created-by: ink_polymer Commit-by: ink_polymer;ink-polymer;gitcode-bot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->修改宏相关设定 以及图片修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->https://gitcode.com/cann/cann-learning-hub/issues/171 https://gitcode.com/cann/cann-learning-hub/issues/87 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> quick_start/cann_basics/03_what_is_cann.ipynb tutorials/ascendc_operator_development/02_AscendC_basic/02.04_introduction_to_kernel_functions_based_on_add_operator.ipynb tutorials/ascendc_operator_development/02_AscendC_basic/src/add_custom.asc tutorials/ascendc_operator_development/02_AscendC_basic/02.05_chapter_test.ipynb tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/03.02_operator_engineering_intro.ipynb tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/03.04_generalized_tiling_design.ipynb tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/03.05_tiling_template_attr_tbuf_workspace.ipynb tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/src/custom_op/op_kernel/add_custom_template.cpp tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/src/custom_op_04/op_kernel/add_custom_template.cpp tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/answer/03.02_answer/op_kernel/sub_custom_template.cpp tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/answer/03.04_answer/op_kernel/sub_custom_template.cpp tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/answer/03.05_answer/op_kernel/add_custom_template.cpp tutorials/ascendc_operator_development/03_intermediate_vector_operator_development/answer/03.06_answer/op_kernel/sigmoid_custom.cpp tutorials/ascendc_operator_development/05_fused_operator_development/05.03_vv_fused_operator_development.ipynb tutorials/ascendc_operator_development/05_fused_operator_development/answer/05.03_answer/op_kernel/square_diff.cpp tutorials/ascendc_operator_development/06_opensource_repo_operator_intro_and_contribution/06.03_operator_development_based_on_opensource_repo.ipynb tutorials/ascendc_operator_development/06_opensource_repo_operator_intro_and_contribution/06.05_chapter_practice.ipynb tutorials/ascendc_operator_development/06_opensource_repo_operator_intro_and_contribution/answer/06.03_answer/op_kernel/sub_custom.h tutorials/ascendc_operator_development/06_opensource_repo_operator_intro_and_contribution/answer/06.05_answer/op_kernel/sigmoid.h tutorials/ascendc_operator_development/06_opensource_repo_operator_intro_and_contribution/src/add_custom/op_kernel/add_custom.h tutorials/ascendc_operator_development/07_Troubleshooting/07.02_CPU_Debugging_Overview.ipynb tutorials/ascendc_operator_development/07_Troubleshooting/07.03_NPU_On-Board_Debugging.ipynb tutorials/ascendc_operator_development/07_Troubleshooting/07.04_Typical_Issues_in_AscendC_Operator_Development.ipynb tutorials/ascendc_operator_development/07_Troubleshooting/07.05_chapter_test.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.02_profiling_tool_usage.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.03_simulation_analysis.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.04_ascendc_op_perf_optimization_demo.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.05_chapter_practice.ipynb tutorials/ascendc_operator_development/08_performance_optimization/src/custom_op/op_kernel/add_custom_template.cpp tutorials/ascendc_operator ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!362 | 3 hours ago | |
修复ascendc_operator_development_light中的部分问题 Co-authored-by: ning_x<chenning54@huawei.com> # message auto-generated for no-merge-commit merge: !324 merge fix_light into master 修复ascendc_operator_development_light中的部分问题 Created-by: ning_x Commit-by: ning_x Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. 01.02_ai_and_operator_basics.ipynb 中将标量张量的 shape 从 (0,) 修正为 (),消除形如空元组的错误表达。 2. 01.03_cann_arch_ascend_npu_principle.ipynb 中将模糊的“两组128长度FP16向量”改为“两个长度为128的FP16数据类型向量”,明确向量个数与长度的对应关系。 3. 核函数参数规则补充:02.02_HelloWorld.ipynb 中将入参类型限制从单一的“指针类型或内置基础数据类型”扩展为基础数据类型、结构体、指针类型的完整说明,并附带官方文档链接。 4. 分形格式计算原理完善:在 03.02_introduction_to_matrix_multiplication.ipynb 中新增 Cube 单元以 16×16 矩阵分片为最小并行处理单位的详细说明,补充 K0 与数据类型的关系(如 half 下 K0=16),并添加分形格式参考文档链接。 5. 修复02.07_kernel_function_practice.ipynb 中重复 cd 导致的路径错误,合并为正确的单目录构建链; 6. 03.05_cv_fused_operator_development.ipynb 和 03.07_cv_fused_operator_practice.ipynb 中移除冗余的 CMakeLists.txt 答案 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!324 | 6 days ago | |
[conv]添加conv算子开发教程 Co-authored-by: y00799046<yuxin5@huawei.com> Co-authored-by: jinyijian<jinyijian1@huawei.com> Co-authored-by: zhoumin_<zhoumin107@huawei.com> Co-authored-by: Developer user<wangshenhao1@huawei.com> # message auto-generated for no-merge-commit merge: !84 merge develop into master [conv]添加conv算子开发教程 Created-by: jinyijian Commit-by: jinyijian;y00799046;zhoumin_;royccc;Developer user Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!84 | 1 month ago | |
docs: 教程代码中变量名修正 Co-authored-by: HMJ_711<220242990@seu.edu.cn> # message auto-generated for no-merge-commit merge: !330 merge master into master docs: 教程代码中变量名修正 Created-by: HMJ_711 Commit-by: HMJ_711 Merged-by: cann-robot Description: ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 代码重构 - [x] 文档更新 - [ ] 其他,请描述: ## 描述 教程代码中变量名修正,ooption改为option ## 测试 人工检视 ## Checklist <!-- [x] 表示选中 --> - [x] 该Pull Request的代码风格和项目的代码风格一致 - [x] 提交的代码已经过充分的验证 - [x] 涉及的相关文档修改已更新 - [x] 标题中正确使用了类型标签(例如:feat/bugfix/refactor/docs/test等) See merge request: cann/cann-learning-hub!330 | 4 days ago | |
fix env for amct Co-authored-by: liuyufan<liuyufan9@huawei.com> # message auto-generated for no-merge-commit merge: !336 merge fix_env into master fix env for amct Created-by: liuyufan0725 Commit-by: liuyufan Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复amct的前置依赖安装 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!336 | 4 days ago | |
update: 新增内容刷新 Co-authored-by: waimaidaole<1595992831@qq.com> # message auto-generated for no-merge-commit merge: !317 merge master into master update: 新增内容刷新 Created-by: waimaidaole Commit-by: waimaidaole Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!317 | 9 days ago |
CANN 教程中心
本目录汇总了昇腾 CANN(Compute Architecture for Neural Networks)各核心领域的官方教程,覆盖大模型推理、算子开发、高性能编程等关键方向,助力开发者快速掌握昇腾 NPU 开发能力。
教程列表
| 教程名称 | 教程描述 | 访问链接 | 状态 |
|---|---|---|---|
| 大模型推理系列课程 | 从大语言模型基础出发,介绍 CANN 推理仓、推理优化、量化与 Profiling,并提供 Qwen3-8B 单卡实践 | llm_inference | ✅ 已发布 |
| Ascend C 算子开发系列教程 | 面向昇腾 NPU 的高性能算子开发全流程教程,包含 Tiling 模板化编程、算子调试、性能优化等核心内容 | ascendc_operator_development | ✅ 已发布 |
| Ascend C 算子开发系列教程(Kernel 直调版) | 面向昇腾 NPU 的 Ascend C 算子开发教程,包含算子核函数、Tiling 计算、矩阵算子、CV 融合算子、调试调优等核心内容 | ascendc_operator_development_light | ✅ 已发布 |
| MC2融合算子开发教程 | MC2融合算子开发教程,详细介绍 MC2 融合算子的概念、开发流程和实践 | MC2_fused_operator_development | ✅ 已发布 |
| Conv 算子开发实战教程 | 面向昇腾 NPU 的 Conv 算子开发实战教程,覆盖卷积算子开发核心概念与实践 | conv_operator_development | ✅ 已发布 |
| HIXL 应用开发系列教程 | 基于昇腾单边通信库的应用开发教程,包含核心API介绍、传输模式选择、问题定位、性能分析等核心内容 | hixl_development | ✅ 已发布 |
教程使用说明
- 已发布教程:点击链接可直接进入对应目录,包含教程文档、示例代码、实操步骤等完整内容;
- 开发中教程:将持续补充后续算子开发教程;
- 规划中教程:将持续更新开发进度,优先覆盖 PyPTO 核心语法、Tile 分片实战、算子性能调优等内容;
- 环境要求:所有教程均基于 CANN 8.5.0+ 版本开发,如离线体验需自行安装配套版本。
反馈与建议
若在教程学习过程中遇到问题,可通过以下方式反馈:
- 提交 Issue 至本仓库;
- 联系昇腾开发者社区技术支持。