这是与计算物理最相关的CS课程,计算物理方向很容易吃透作为项目写到简历上
这部分主要包括
多核计算
OpenMP
SIMD
集群计算
MPI
GPU计算
CUDA
分布式计算
MapReduce
Spark
互联网主要重视分布式计算,科学研究主要在多核和MPI,但是科学研究很少研究底层,只管应用。GPU在算法工程师领域用得比较多。
18645 (15 spring) How to Write Fast Code
ECE版的parallel computing,无论是课程质量还是课程难度都远远低于15418。如果你在纠结这两门上哪一门,请不要犹豫,去选15418吧:)。 这门课的主要内容有三大块,CPU based parallel computing (ILP, SIMD, OpenMP), GPU based parallel computing (CUDA) and cloud parallel computing (MapReduce and Spark)。其实从课程内容来看还是很不错的,无奈乎老师讲课水平太差以及课程要求太低,这些内容都是浅尝辄止。
这门课有三次作业和四次project,作业都是独自完成,project都是组队完成(2-3人)。基本上作业就是帮你熟悉project的开发环境,跑一个sample program再把输出结果提交上去。而project相对有意思一点,前三次project各自对应课程的三大块内容,要求你用OpenMP, CUDA 以及 MapReduce来优化一个基础算法(矩阵乘法、K-means、N-gram),project的评分参照两点:你的优化程序相对于原始算法的运算速度,以及你的程序相对于别的小组的程序的运算速度。做得最好的team还可以去做presentaion,给大家讲你们的优化思路XD. 第四个project要求你自行选题,用课程学到的parallel computing的方法去优化一个实际算法,并且写一篇小论文。 我们组当时选的是中值滤波,把三个方法都用了一遍,发现还是mapreduce 大法好:)。 总的来说这门课的缺点在于课程内容太浅,project也没有什么锻炼量,如果ECE的同学想找一门不是太水的水课来抵学分,那还是可以一上的。