选课类别:基础 | 教学类型:理论课 |
课程类别:研究生课程 | 开课单位:计算机科学与技术系 |
课程层次:硕士 | 学分:3.0 |
本课程讨论各种并行计算模型上计算机学科中诸多常用的各种基本、典型的并行算法的设计和分析方法。主要包括:并行机结构模型,并行计算模型和并行算法基本知识;各种模型上的非数值并行算法(排序,选择,组合搜索,串匹配,图论算法等);数值并行算法(矩阵运算,线性方程组求解,FFT算法等);并行计算理论(计算模型的等价性及其能力,下界,NC类计算问题等);以及新近发展的GPU和大数据计算技术和算法。
徐云老师讲课非常详细且富有经验,使用的教材为陈国良院士的《并行算法的设计与分析》,重点讲述并行算法的基本设计原理和复杂度分析。课程内容涵盖了数组算法、矩阵运算、FFT、CUDA等,主要关注算法的具体实现和时空复杂度、加速比等,概念性内容较少,课件可在老师主页下载。
课程完全不考勤,但学期末选题时有一次变相考勤。由于是早八课,大部分学生中途缺勤,老师对此不干涉。
没有课后书面作业,要求完成一次中期PPT答辩和期末电子版实验报告。此外,需撰写一篇与并行相关的小论文,并在学期末进行展示。
期末为开卷考试,题目主要基于课件内容,考试难度适中,大部分答案可在资料中找到。老师会在考前明确指出哪些内容不考。
给分较为宽松,卷面分一般在70分左右,总评在85分上下。评价中显示“我的最终总评是90”。
虽然课程较难,但认真听课并充分利用老师的提供资源,再加上适当复习,还是能取得较好成绩的。老师讲课风格亲切,内容详实,是学习并行算法的不错选择。
教材是陈国良院士的《并行算法的设计与分析》。这本书很厚,课程只能讲其中的十来章。书中讲的并行算法设计原理尤其具有启发意义。了解经典并行算法和并行算法的复杂度分析,也是很有意义的。徐云老师经验丰富,讲得很清楚。
首先徐云老师真的是非常和蔼的一个人,很喜欢老师上课的风格,但说实话,对于我本科是自动化的学生来说这门课还是挺难学的,学起来好多不懂,幸好老师讲课非常详细,但最后其实我还有很多不懂的地方,老师在最后划范围的时候还和我们说,可以去学校视频网站看他15年的视频,(真的很有用救我狗命)最后考完卷面分感觉就73那个样子,最后总评85。谢谢老师!
关于内容:
这门课大概就是讲如何把一些算法并行化,例如简单的数组算法(最值、排序等)、矩阵运算、FFT、CUDA入门。上课时概念性的内容较少(本人最烦背概念),大部分时间用于介绍具体算法,并推到时空复杂度、加速比等等。课件全部在老师的主页可以下载到,认真听课的话是可以学到一些内容的。
课程主页:http://staff.ustc.edu.cn/~xuyun/pa.htm
关于考勤:
完全不考勤,基本上中间那会儿每次课只能来一半人。因为是早八所有有些学生会迟到,老师也从来不管。有几次我课前五分钟到教室发现空无一人,上课铃打响时才只有三五个同学,老师也照常讲课,并且会在下课时(大概十一点多吧)强调一下一些重要通知。这点来说老师还是非常宽容的
关于作业:
一次大作业(中期PPT答辩,期末考完要交一份电子版实验报告,格式在课程主页有),一次开卷考试(不难,大部分都能找到答案)。
关于给分
还未出分,出分后我会给出我的评价。
平时没有书面作业,但是要写一篇和并行相关的小论文,学期末做presentation。平时应该没有点名,学期末的时候点了一次名。开卷考试,内容以上课的ppt为主。新晋杀手,慎选。
考勤:平时没有考勤,唯一有一次挨着挨着讲最后大作业选题的时候有一次变相考勤。所以平时这个课有很多人没来。
作业:没有平时作业,最后有一次期末大作业(中期答辩每个人五分钟左右+课程论文),期末考试是开卷,最后老师会说哪些地方是明确不考的。
给分:我的最终总评是90。
复习建议:不要因为是开卷就啥也不看,还是得把每一章的东西看一下,不用看太深入,看懂就行。平时没去上课的话,可以看看老师在科大的本科生网课并行计算这门课,有很多内容都是差不多的。