这几天正值美国寒假,系里没有人了,可以抽出时间来充实一下自己了。之前一直没有时间学习GPU编程,正好一个学生跟我说有个网络课程是讲这方面的,问我感兴趣不?我说好,这个课程就是Coursera Hetergeneous Parallel Programming,另外Coursera还有很多优秀的课程,我还选了有一门Alogrithms: Design and Analysis, Part2, 也在同时进行中,当然这个网上课程都是全英文授课的。
我注册这个课的时候有已经开始了有一段时间了,因此也错过了前几次的测试,不过这不妨碍学习。
主讲老师是来自UIUC的Wen-mei W. Hwu教授,他的语速很适合中国人,属于慢的那种,而且可以选择是否有字幕(当然是英文的), 每个小节的课很短,15分钟~30分钟,听不懂可以多听几遍,练练听力。此外,配套的材料都可以下载,包括电子书、每一小节的Slide,Video及对应的字幕。
教学大纲如下:
Week One: Introduction to Heterogeneous Computing and a Quick Overview of CUDA C and MPI, with lab setup and programming assignment of vector addition in CUDA C
Week Two: Kernel-Based Data Parallel Programming and Memory Model for Locality, with programming assignment of simple and tiled matrix multiplication.
Week Three: Performance Considerations and Task Parallelism Model, with programming assignment in performance tuning.
Week Four: Parallel Algorithm Patterns – Reduction/Scan, stencil computation and Sparse computation, with programming assignment of reduction tree.
Week Five: MPI in a Heterogeneous Computing Cluster: domain partitioning, data distribution, data exchange, and using heterogeneous computing nodes, with programming assignment of a MPI-CUDA application.
Week Six: Related Programming Models – OpenACC, CUDA FORTRAN, C++AMP, Thrust, and important trends in heterogeneous parallel computing, with final exam.
现在课程正好过半,另外美国假期,所以我正好补下这些课程,还能参加第三周的Quiz和Programming作业。最终成绩是Quiz和Programming各占50%。