| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
cann_basics: 优化课程,习题增加判题机制 Co-authored-by: mlewis<137259307@qq.com> # message auto-generated for no-merge-commit merge: !151 merge master into master cann_basics: 优化课程,习题增加判题机制 Created-by: mlewis Commit-by: mlewis Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!151 | 1 个月前 | |
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 | 10 天前 | |
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 | 19 天前 | |
sync selected files from test into master Co-authored-by: ink-polymer<2020611156@qq.com> # message auto-generated for no-merge-commit merge: !340 merge sync-test-files-to-master-20260716 into master sync selected files from test into master Created-by: ink_polymer Commit-by: ink-polymer Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->优化相关代码和表述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->https://gitcode.com/cann/cann-learning-hub/issues/97 https://gitcode.com/cann/cann-learning-hub/issues/98 https://gitcode.com/cann/cann-learning-hub/issues/111 https://gitcode.com/cann/cann-learning-hub/issues/118 https://gitcode.com/cann/cann-learning-hub/issues/139 https://gitcode.com/cann/cann-learning-hub/issues/146 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->更新了tutorials/ascendc_operator_development/01_basic_overview/01.02_ai_and_operator_basics.ipynb quick_start/cann_basics/01_ai_basics.ipynb quick_start/cann_basics/02_what_is_npu.ipynb quick_start/cann_basics/03_what_is_cann.ipynb tutorials/ascendc_operator_development/04_matmul_basic/04.02_matrix_multiplication_introduction.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.02_profiling_tool_usage.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.04_ascendc_op_perf_optimization_demo.ipynb quick_start/first_llm_inference/01_qwen3_npu_inference_baseline.ipynb cann-learning-hub-test/quick_start/cann_basics/images/AI3elements.png ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!340 | 14 天前 | |
sync selected files from test into master Co-authored-by: ink-polymer<2020611156@qq.com> # message auto-generated for no-merge-commit merge: !340 merge sync-test-files-to-master-20260716 into master sync selected files from test into master Created-by: ink_polymer Commit-by: ink-polymer Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->优化相关代码和表述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。-->https://gitcode.com/cann/cann-learning-hub/issues/97 https://gitcode.com/cann/cann-learning-hub/issues/98 https://gitcode.com/cann/cann-learning-hub/issues/111 https://gitcode.com/cann/cann-learning-hub/issues/118 https://gitcode.com/cann/cann-learning-hub/issues/139 https://gitcode.com/cann/cann-learning-hub/issues/146 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->更新了tutorials/ascendc_operator_development/01_basic_overview/01.02_ai_and_operator_basics.ipynb quick_start/cann_basics/01_ai_basics.ipynb quick_start/cann_basics/02_what_is_npu.ipynb quick_start/cann_basics/03_what_is_cann.ipynb tutorials/ascendc_operator_development/04_matmul_basic/04.02_matrix_multiplication_introduction.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.02_profiling_tool_usage.ipynb tutorials/ascendc_operator_development/08_performance_optimization/08.04_ascendc_op_perf_optimization_demo.ipynb quick_start/first_llm_inference/01_qwen3_npu_inference_baseline.ipynb cann-learning-hub-test/quick_start/cann_basics/images/AI3elements.png ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!340 | 14 天前 | |
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 | 10 天前 | |
cann_basics: 优化课程,习题增加判题机制 Co-authored-by: mlewis<137259307@qq.com> # message auto-generated for no-merge-commit merge: !151 merge master into master cann_basics: 优化课程,习题增加判题机制 Created-by: mlewis Commit-by: mlewis Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 内容优化 - [ ] 其他,请描述: ## 其他信息 <!-- 在这里可以添加任何与这个 Pull Request 相关的其他说明。 --> See merge request: cann/cann-learning-hub!151 | 1 个月前 | |
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 | 19 天前 |
CANN 基础知识课程
本课程是 CANN 生态的入门通识课,面向零基础初学者,用大量生活化比喻和图文讲解,让你像读故事一样理解 AI、NPU 和 CANN。课程以 Jupyter Notebook 形式提供,支持在线交互式运行。
课程内容
| 序号 | 课程 | 内容概要 | 在线体验 |
|---|---|---|---|
| 1 | 人工智能基础 | AI 发展历程 → AI/ML/DL → 模型 → 训练与推理 → 常见架构 → 计算图 → 算子 → 张量 → 从模型到昇腾 NPU | 在线体验 |
| 2 | 什么是 NPU | 为什么需要 NPU → CPU vs NPU 算力差距 → 昇腾产品全览 → Host/Device → NPU 内部 6 组件 → AI Core 三大部分 → 多核并行 → GPU 对比 | 在线体验 |
| 3 | 什么是 CANN | 从 NPU 到 CANN → 架构总览 → 各组件详解(框架适配/算子库/通信库/图引擎/加速库/Ascend C/编译器/运行时/驱动)→ 一行代码的完整旅程 → CANN vs CUDA → 环境验证 | 在线体验 |
| 4 | Hello World:NPU 加法 | 体验从 PyTorch 到昇腾 NPU 的零门槛迁移:一行代码切换设备,亲手感受 NPU 加速计算 | 在线体验 |
课件
| 课件 | 说明 |
|---|---|
| artificial_intelligence_basics.pptx | 涵盖人工智能基础、NPU 架构、CANN 软件栈、Hello World 全部课程内容的授课课件 |
适用人群
- 对 AI 和昇腾 NPU 感兴趣的初学者(无需编程基础)
- 有 GPU/CUDA 经验、想快速了解 CANN 的开发者
- 需要向团队介绍 CANN 基础概念的工程师
学习建议
- 按顺序学习,每课承上启下
- 每课都穿插了可执行的代码段,建议在昇腾 NPU 环境下运行体验
- 有 CUDA 经验的同学可重点看第 3 课的"CANN 与 CUDA 对照"部分,快速建立映射
目录结构
cann_basics/
├── README.md
├── slides/ # 授课课件
│ └── artificial_intelligence_basics.pptx
├── images/ # 课程图片资源
└── answer/ # 练习答案