GPU计算

课程性质:专业选修 (2021级-2023秋)

学分:2

分数构成 = 20% 平时测验与参与 + 30% 开放式作业 + 50% 昇腾算子开发实验项目 + Bonus(3分/次 前沿技术报告、附加实验等)

tip:2023秋有4个人拿到了Bonus

关于课程

1. 总体介绍

课程大纲有: - GPU计算概述 - GPU硬件架构 - GPU计算的软件抽象 - GPU计算的内存管理与数据结构 - GPU程序调试与性能分析 - 昇腾处理器与异构计算架构 - 昇腾Ascend C算子开发 - 昇腾计算语言接口AscendCL 课程内容有:向量加法运算、矩阵运算、卷积运算、距离计算、算子开发

2. 关于授课

  • sth

  • 老师上课使用PPT为英文

  • 每节课都有长江雨课堂的小测,并计入最终成绩
  • 课上有时会随机叫人回答问题
  • 会进行实验部分的答疑

3. 关于实验

有三次作业和一个项目

第一次作业: - 查询机器上GPU设备的参数 - 自己从头编写并运行VectorSum内核 (如果电脑没有GPU或显卡不是英伟达的,老师会单独安排)

第二次作业: - 请编写程序,实现两个矩阵相乘 - 理解线程束的调度机制

第三次作业: - 编写GPU程序,借助shared memory实现两个矩阵相乘

项目: - 学习在线课程,完成章节小测和微认证考试,难度较大

4. 关于考试

(2021级-2023秋) 无考试

一些可能有用的资源

  • CUDA并行程序设计:https://www.bilibili.com/video/BV15E411x7yT/?vd_source=0f6f2b84c512b24d699dbd30a6844acb
  • NVIDIA CUDA初级教程视频:http://www.iqiyi.com/a_19rrhbvoe9.html#vfrm=2-3-0-1
  • 昇腾社区在线课程:https://www.hiascend.com/zh/ascend-c

学习经验

课上讲的难,但考察的知识点较为简单,项目的实现有难度

参考书目

  • [1] Duane Storti, Mete Yurtoglu. CUDA for Engineers: An Introduction to High-Performance Parallel Computing ,2016. (中⽂版: 苏统华等译,《CUDA⾼性能并⾏计算》, 机械⼯业出版社, 2017.2)
  • [2] 苏统华, 杜鹏.昇腾AI处理器CANN应⽤与实践,2021.
  • [3] 苏统华, 杜鹏, 周斌.昇腾AI处理器CANN架构与编程,2022.
  • [4] David B. Kirk, Wen-mei W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach (2 edition) ,2013. (中⽂版:《CUDA⼤规模并⾏处理器编程实战》, 清华⼤学出版社, 2013.12)
  • [5] Shane Cook, CUDA Programming -- A Developer‘s Guide to Parallel Computing with GPUs, 2013. (中⽂版: 苏统华等译,《CUDA并⾏程序设计:GPU编程指南》, 机械⼯业出版社, 2014.1 )
  • [6] Nicholas Wilt, The CUDA Handbook -- A Comprehensive Guide to GPU Programming, 2013.(中⽂版:苏统华等译,《CUDA专家⼿册:GPU编程权威指南》, 机械⼯业出版社, 2014.8 )

资源列表