CMU15-418 parallel computing (#44)

This commit is contained in:
sheep
2022-03-12 21:22:48 +08:00
committed by GitHub
parent 14e7847cf5
commit 5d1916c79f

View File

@@ -0,0 +1,41 @@
课程号: CMU15-418/618
教授: Kayvon
课程地址: [spring-2016](http://15418.courses.cs.cmu.edu/spring2016/lectures)
视频地址: [bilibili](https://www.bilibili.com/video/BV16k4y1z7z9?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click), [panopto](https://scs.hosted.panopto.com/Panopto/Pages/Sessions/List.aspx#folderID=%22f62c2297-de88-4e63-aff2-06641fa25e98%22)
评论贡献者: [sheep](https://github.com/ysj1173886760)
## 课程信息
CMU开展的并行计算课程有一门有一定关系的前置课是并行数据结构15-210。没有上过也没关系。教授会从最初始的概念——为什么需要并行开始讲起途中会带我们了解现代处理器在多核并行方面都应用到了那些技术比如超线程GPU的架构以及一些CUDA programming并行方面常谈的scheduling还会带我们深入硬件的一些实现算法比如cache coherence很容易让人迷惑的memory model并且会根据上面的知识教我们多核架构下我们怎么利用这些来实现锁。最后还会涉及到一些当时前沿的技术比如异构架构下的并行事务内存SparkDeep Network的evaluation和training以及3D渲染管线。可以说是一门走向并行领域的必修课了。
课程有4个assignment
在官网就可以找到这个教授由于后来去了stanford所以后续的更新就在stanford了课号是CS149
值得一提的是教授也在清华大学开过一次这个课程在b站还可以找到录像
project我是做的CS149的但是其实都比较类似大家可以调自己感兴趣的做
project1是用ISPC写程序以及在多核CPU上analyse一些程序主要目的就是让我们去识别这些并行程序找到bottleneck
project2是写一个调度器基本的策略在课上都有讲可以说是一个C++多线程的练习
project3是用CUDA写一个Renderer
project4是用OpenMP来编写大规模图计算的程序最后是根据程序的效率给分还是非常有挑战性的
## 适合人群
这门课代码难度并不高,但是内容有的地方还是有一定难度的,有的时候一节课就需要用一天的时间去仔细思考。
## 课程评价
我个人的感觉就是上完了非常过瘾对并行计算这方面有了一个整体的认识。课程没有教材但是有很多推荐的reading。我个人认为如果想看书的话根据上面的的内容也大概可以猜到一定是《计算机体系结构量化研究方法》了
对我这种想要学习并行计算但是无从下手的同学是一个非常好的课。并且学的过程中可以尝试与计算机体系结构等来融会贯通的去理解。如果也学习过一些系统方面的课程的话,学完后可以对计算机有一个比较整体的了解,再进阶就可以去读一读高性能计算方面的论文了。
我自己也记录了一些课程的笔记以及每次lecture的思考但是因为有的内容并不是很全面就不放出来了如果有想要相互交流的同学欢迎联系我。