已合并
feat: 北林数据结构-课外实验4.1-低精度矩阵乘法优化实验 #500
Lexie创建于 7月31日
feat: 北林数据结构-课外实验4.1-低精度矩阵乘法优化实验 #500
已合并
共 3 个文件变更+3142-8
| @@ -1,15 +1,24 @@ | |||
| 1 | -# 面向高性能计算的数据结构 | 1 | + |
| 2 | 2 | ||
| 3 | -本课程围绕高性能计算场景中的数据组织、内存访问、并行计算和性能优化方法展开。课程通过可运行的 Ascend C 实验,帮助学习者理解数据分块、片上存储和多核并行对计算性能的影响,并掌握面向昇腾 NPU 的基础性能分析与优化方法。 | 3 | +------ |
| 4 | 4 | ||
| 5 | -## 课程适用学习人群 | 5 | +## 课程简介 |
| 6 | 6 | ||
| 7 | -- 具备 C/C++ 基础语法和基本数据结构知识的学习者。 | 7 | +随着人工智能的普及与发展,高性能计算需求的不断增长,传统CPU串行模式下的数据结构教学已难以适配技术的发展。本课程依托于华为昇腾计算平台与CANN技术体系,构建高性能计算场景下的数据结构模块化实验。实验内容涵盖了并行计算、分布式计算、算子开发等核心内容,每个实验均提供了可运行的Ascend C程序,可结合华为ICT学院与此配套的体系化课程进行深入学习。通过实验课程,指导学习者使用Ascend C编程,面向昇腾NPU完成算子的设计、实现、调试和优化,培养从数据结构、算法设计到性能评价的系统工程能力。 |
| 8 | -- 具备基础 Linux 命令行和 Jupyter Notebook 使用经验,希望学习 Ascend C 与高性能计算优化的学生或开发者。 | ||
| 9 | 8 | ||
| 10 | -## 整体学习目标 | 9 | +## 适合人群 |
| 11 | 10 | ||
| 12 | -- 理解高性能计算中数据结构、数据布局与内存访问模式之间的关系。 | 11 | +建议学习者具备C/C++基础和数据结构基础,但不要求事先有Ascend C编程经验。 |
| 12 | + | ||
| 13 | +- 对并行计算、分布式计算或算子开发感兴趣,希望系统学习数据结构与并行算法的学习者; | ||
| 14 | +- 具备数据结构基础,希望进一步了解高性能场景下的数据组织、存储与并行算法实现的学习者; | ||
| 15 | +- 对华为昇腾计算平台与Ascend C算子开发感兴趣的学习者。 | ||
| 16 | + | ||
| 17 | +## 学习目标 | ||
| 18 | + | ||
| 19 | +- 理解面向高性能计算的数据结构设计原理 | ||
| 20 | +- 掌握并行算法设计与实现的基本方法 | ||
| 21 | +- 具备面向华为昇腾平台的算子开发实践能力 | ||
| 13 | 22 | ||
| 14 | ## 课程支持的硬件产品 | 23 | ## 课程支持的硬件产品 |
| 15 | 24 | ||
| @@ -31,9 +40,25 @@ CANNLab 环境创建与使用方法请参考 [CANNLab 环境体验指南](https: | |||
| 31 | 40 | ||
| 32 | ## 课程章节目录 | 41 | ## 课程章节目录 |
| 33 | 42 | ||
| 43 | +### 第一章:高性能计算基础 | ||
| 44 | + | ||
| 45 | +| Notebook | Link | 状态 | | ||
| 46 | +| -- | -- | -- | | ||
| 47 | + | ||
| 34 | ### 第二章:并行计算 | 48 | ### 第二章:并行计算 |
| 35 | 49 | ||
| 36 | | Notebook | Link | 状态 | | 50 | | Notebook | Link | 状态 | |
| 37 | | -- | -- | -- | | 51 | | -- | -- | -- | |
| 38 | -- `02_parallel_computing/02.00_intra_prefix_sum_balanced_tree.ipynb`:课内实验2.1 基于平衡二叉树的并行前缀和实现。 | 52 | +| 02.00 基于平衡二叉树的并行前缀和实现实验 | [在线体验](https://ai.gitcode.com/user/username/notebookcann?repoUrl=https://gitcode.com/cann/cann-learning-hub.git&ttl=120&diskSize=40Gi&path=contrib/tutorials/data_structure_for_hpc&scanFilePath=contrib/tutorials/data_structure_for_hpc/02_parallel_computing/02.00_intra_prefix_sum_balanced_tree.ipynb) | ✅ 已发布 | |
| 39 | | 02.02 矩阵乘法分块优化实验 | [在线体验](https://ai.gitcode.com/user/username/notebookcann?repoUrl=https://gitcode.com/cann/cann-learning-hub.git&ttl=120&diskSize=40Gi&path=contrib/tutorials/data_structure_for_hpc&scanFilePath=contrib/tutorials/data_structure_for_hpc/02_parallel_computing/02.02_extra_ascendc_static_tensor_matmul.ipynb) | ✅ 已发布 | | 53 | | 02.02 矩阵乘法分块优化实验 | [在线体验](https://ai.gitcode.com/user/username/notebookcann?repoUrl=https://gitcode.com/cann/cann-learning-hub.git&ttl=120&diskSize=40Gi&path=contrib/tutorials/data_structure_for_hpc&scanFilePath=contrib/tutorials/data_structure_for_hpc/02_parallel_computing/02.02_extra_ascendc_static_tensor_matmul.ipynb) | ✅ 已发布 | |
| 54 | + | ||
| 55 | +### 第三章:分布式计算 | ||
| 56 | + | ||
| 57 | +| Notebook | Link | 状态 | | ||
| 58 | +| -- | -- | -- | | ||
| 59 | + | ||
| 60 | +### 第四章:算子开发 | ||
| 61 | + | ||
| 62 | +| Notebook | Link | 状态 | | ||
| 63 | +| -- | -- | -- | | ||
| 64 | +| 04.01 低精度矩阵乘法优化实验 | - | 🚧 待内测 | | ||