返回课程
AI032
专业级
大规模并行处理器编程:实践导向方法
本课程全面介绍使用CUDA C环境进行GPU计算和并行编程。内容涵盖GPU架构、数据并行性、线程管理、内存优化以及高级性能考量,并通过实际案例(如MRI重建和分子可视化)进行说明。
4.9
36.0h
569 名学生
12 课时
0 点赞
人工智能
课程概述
内容概要
本课程全面介绍了使用CUDA C环境进行GPU计算与并行编程的基础知识。内容涵盖GPU架构、数据并行性、线程管理、内存优化以及高级性能考量,并通过磁共振成像(MRI)重建和分子可视化等实际案例加以说明。
掌握高性能并行计算的艺术,通过实践导向的指南学习CUDA与GPU架构。
作者: 大卫·B·基尔克(David B. Kirk),胡文梅(Wen-mei W. Hwu)
致谢: 伊恩·巴克(Ian Buck)、约翰·尼克尔斯(John Nickolls)、NVIDIA DevTech团队、黄仁勋(Jensen Huang)、戴维·吕布克(David Luebke)、比尔·比恩(Bill Bean)、西蒙·格林(Simon Green)、马克·哈里斯(Mark Harris)、曼朱·赫吉(Manju Hedge)、纳迪姆·莫汉默德(Nadeem Mohammad)、布伦特·奥斯特(Brent Oster)、彼得·肖利(Peter Shirley)、埃里克·杨(Eric Young)和西里尔·泽勒(Cyril Zeller)。
学习目标
- 区分多核CPU与多核GPU在设计哲学和性能演进路径上的差异。
- 识别现代GPU架构的关键组件,包括流式多处理器(SMs)和内存结构。
- 应用阿姆达尔定律计算理论加速比,并识别顺序瓶颈的影响。
- 对比固定功能流水线与可编程统一处理器阵列之间的架构差异。
- 解释“GPGPU”作为过渡阶段的作用,以及早期着色器编程模型的局限性。
- 分析原子操作、屏障同步和双精度支持等硬件特性如何推动向可扩展通用计算的转变。
- 识别并利用矩阵-矩阵乘法算法中的数据并行性。
- 实现设备内存管理,包括分配、主机与设备间的数据传输,以及释放。
- 使用适当的线程索引和网格/块配置构建并启动CUDA内核。
- 设计多维线程层次结构(网格与块),将复杂数据结构映射到GPU硬件上。