选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业选修 | 学分:2.5 |
本课程简要讨论并行计算的硬件基础,即当代并行计算机的体系结构模型;着重讨论并行计算的核心内容,即并行算法的设计和典型常用的并行数值算法;以及并行计算的软件支持,即并行程序设计的原理和主要的编程方法。这些内容强调将并行计算机体系结构、并行算法设计和并行编程融为一体,注重讨论并行计算的基本原理与方法,体现出应用问题对并行编程的需要,并力图反映本学科的最新成就与学科发展前沿。
徐云老师的教学风格被不少学生称赞,有学生认为其讲课生动形象、条理清晰,能够引起学生的听课兴趣。PPT和板书结合,使得课程内容讲解更为全面且富有互动性。此外,徐老师有时在课堂上提出思考题和活动题,增加课堂互动,倒是稍有缺点,如部分学生认为这些活动题和思考题可能会成为考试内容,需要特别注意。
该课程涵盖并行计算的多方面内容,包括体系结构、计算模型、并行算法的设计和复杂度分析等,步步递进,从结构到编程再到算法,内容安排较为有条理。实验涉及OpenMP、MPI、CUDA和MapReduce等不同风格的并行编程,让学生体会到不同并行模型和粒度的差异。但有人指出课程PPT较为老旧,存在内容重复的现象。
作业方面,每次包含一道原创题和两道课本题,数量不多,且提交时间较宽松。实验从第九周开始,一周一个,内容主要是实验环境配置和样例运行,有实验过程比较简单的评论,也有批评实验过于水,没有实际意义。但部分学生认为实验时间紧凑且存在配置环境困难的情况,尤其CUDA和Hadoop的配置浪费时间。实验课助教被指责帮助不多,群体互动和支持性较差。
课程评估综合平时小测和期末考试。小测以签到为主,不定期进行。一些学生认为期末开卷考试题型和往年类似,尽管内容并不难,但优秀率和高分较难获得。有学生明确提醒不调分且给分严格,期末占70%,平时30%。整体上给分比较“扣”,有考试所得的分数直接作为总评分数的情况。
总体来看,徐云老师的《并行计算》课程内容充实、条例清晰且互动性强,对并行计算方向的学生有较大帮助。然而实验安排和助教支持不足、给分严格、实验内容浅显且配置环境艰难等问题需要注意。对于想轻松获取好成绩的学生需要审慎选择,但对并行计算有兴趣且愿意付出努力的学生来说,这门课依旧具有很高的价值。
目前看来,大概是体验最好的专业选修课了
平时念ppt,不过还算是全过了一遍。考试和政治差不多,平均分80。给分比较离谱,严格7:3,小测(签到)一次没来总评-2.5。优秀率没透露,估计挺低的。入学以来的最低分。话说自己暑研还搞的是HPC,有点讽刺。。。
总结:徐云新晋杀手
教材:陈国良,《并行计算:结构·算法·编程》(第3版) 这本书写得不错。并行计算的网络互联结构、加速定律、性能度量标准,并行算法的复杂度标准、计算模型、算法设计方法论,都是如今多核、GPU 时代做性能优化必备的知识。这门课是徐老师另一门课《并行算法》的先修课程(虽然大多数同学是同时上的两门课)。
做系统优化的基本方法都在教科书里,做了一些学术研究之后再返回来看教科书,又有新的理解和体会。做研究忌讳不读经典,拍脑袋想出一个解决方案,殊不知更好的方案早已被写进教科书里了。
徐云老师讲课生动形象,很有条理,能把复杂的算法讲清楚。推荐徐老师的课程。
利益相关:旁听狗
因此本评价可能比较片面,一切以其他选了课的大佬的评价为准
由于上学期选了徐云老师的算法,而且个人觉得并行思维非常重要,因此尽管学分充足但是依旧旁听了一个学期的并行(中间因为准备MSRA面试翘了两节课,其他课均到场,最后尼玛还是凉了1551)
本评价主要从上课风格评价。
首先个人觉得徐云老师有着上世纪老学者的那种儒雅和幽默(这老头真有意思),上课以PPT为主,板书为辅,讲课非常生动形象,个人原因由于缺了两次课产生了断层,后面的课听的比较艰难,因此给课程难度打了一个困难,各位可以不用理会。
上课有很多的互动(虽然几乎没有人主动回答问题,徐云一直威胁带花名册但是一直没有带),许多问题非常有思考价值,据徐云自称,上课的活动和思考题可能会出现在期末卷子上,真伪有待验证是真的。
课程前半学期讲的是并行体系结构和计算模型,后半学期侧重于并行算法的设计和复杂度分析(超级难懂!),PPT上省略了很多课上口头讲过的内容(老师自称),徐云老师也会根据备课方案的原因(小测、提问等)故意不及时给PPT,该情况本学期出现了一次。
另外实验和上学期算法一样,后半学期开始一周一个,非常紧凑(不过据说网上都能找到代码?),最后一个实验可以用实验室的GPU集群,不用自己配CUDA环境,个人由于大三下的课业压力和申请压力实验都没怎么写,丢脸了。
总共有三四次小测,签到性质,但是题目都非常有思考价值。
感觉如果要学好,还得自己买本《并行计算》的教材看看,个人感觉旁听虽然有不少收获,但是总归学的很浅。
另外需要吐槽的是……徐云老师开学就说建一个微信群,结果到了期末都没搞……导致大家只能自发讨论或者在算法群里面问助教(上学期助教名单和本学期高度重合2333)。
【辅修人】路过,并行计算也是适合辅修宝宝体质的选修课!最后好像拿了2.7,一学期没听课拿到这个成绩也是很满足。
另外,从徐老师的一些思考和自省可以看出徐老师是一位学术水平很高、个人修养也很高的老师,听他的课程也是如沐春风。
还没有结课。到目前来看,这门课还是不错的。原因如下:
1. 没有过多的作业
2. 实验简单,配环境文档很详细,每一步怎么做的都说的明明白白,基本没踩坑。
3. 助教回复及时
觉得不好的点:这门课的目前学到的理论知识感觉基本没什么用。
且觉得老师的讲课水平并没有本课程以及其它课程评论区中吹的那么好,感觉中规中矩。
——————————————————————————————
考试前复习的时候会发现 这门课还是挺有意思的
只是现在已经考完半个月了 怎么还没有成绩的任何消息???????
————————————————————————————
近1个月后,悄悄出了成绩 成绩是按73算的,应该会有微调,但调的不多
考试题型和往年类似,比较简单,要拿优秀还是要好好复习(建议仔细复习老师上课讲过的activity题目和ppt上所有的思考题或问题)
水学分的课,建议和并行计算B一起上
不太能给太高的分。讲课的话就不多评价,毕竟自己没好好听,就不配说了。实验我真的有点难受。
讲课:绝大多数时候在讲并行计算的指标和念课本算法,设计方面非常草率。最大的收获点可能是了解了可以用多项式来刻画并行算法的核数。然后稠密矩阵运算讲的还不错。其他的一般般。
实验:
我真的觉得这几次实验不配称之为实验。实验的内容就是配环境和跑一个样例?你在逗我么?这样做完实验能加深我对这门课各种理论的理解吗?
lab1lab2lab3还有一丁点自己需要思考着来写的内容,lab4lab5是什么**玩意?纯配环境就算了,我在和助教的交流过程中我发现这几个助教自己甚至都没在自己的电脑上自己提前踩一遍坑。这就是你们对这门课的态度?合适吗?
我建议下一次上这门课助教和老师拜托提前配个linux虚拟机然后发给大家,或者跟vlab合作一下。毕竟写代码比配环境不知道重要到哪里去了。(好吧gpu那个没法做虚拟机,那至少做一个能直接跑hadoop、openmp和那个mpi的啊)
考试:
开卷考了原题。这个行为嘛,大家都有各自的看法,就不评价了。
总之扣这么多分主要是实验太水了,当然有的同学就喜欢实验水的课那也可以选一选。
对于这门课,个人不推荐。有这时间选个数据隐私不好吗(
考试作业实验(实验以配环境为主,可能是我环境配的比较多,所以一般一次实验五个小时内能搞定)都挺简单,考前三倍速过一下老师的视频,把老师所有资料打印一下(包括研究生的以及思考题)就能全覆盖,就是课堂小测一定要去。。。我因为叠课没有去,导致最后总评-5...血亏
p.s. 看很多同学说不调分,感觉科大有点把同学惯坏了,今年卷子不难啊(而且和评课社区的卷子后面几道高度雷同),就算你不去打印研究生的课件剩下90分完全都能找到...老师没必要给你调分的。而且徐云老师讲课挺好的,尤其是算法部分,逻辑思维清晰(虽然我是3倍过的吧)
我打8分是因为老师说叠课也要扣我平时分(
适合想水时间不冲突且配环境技术娴熟的同学
作为一门方向课而言,并行计算的课程体验比信安导论要好太多太多。徐云老师上课讲的也是非常清楚,而且课程的内容安排也很有条理。从结构到编程再到算法,步步递进的来。作业非常少,一学期总共只留了三次还是四次作业,前面的结构部分和编程部分都没有书面作业,再加上一周一次课,其实东西忘的挺快的。老师会在课上讲一些补充内容(仅只PPT上没有直接提到或者涉及到的内容),一般来说都会对应课程PPT中的Activity部分的问题。这些问题自己思考的话着实需要一些时间且有一定的难度,但如果认真做了笔记的话都会有涉及。平时课堂小概率会有“小测”,仅仅是点名性质,实际要写的东西都是当堂讲过的,让你再写一遍。
期末考试开卷,而且考试前老师明说了会涉及到Activity的部分,所以说上课认真做笔记还是挺重要的,最终的考试也确实是非常多的内容涉及了Activity的部分。具体的考题回忆可以参考Lyncien大佬整理的试卷,基本涵盖了所有的题目,其中大题的后三道都直接或是间接与Acvtivity相关,所以说记得做好整理。
这学期的实验总共布置了四次,分别为OpenMP,MPI上的PSRS排序,CUDA实现向量加法和共享存储的矩阵乘法,MapReduce实验(比较水,实际只需要再给的Demo里该一行代码就做完了,实际上配置好环境用的时间可能更久,建议在一个空白的虚拟机下完成)。
本学期的助教确实存在感有点低,除了每周来送个作业本以及周末的实验检查,没有见到过人,也没有开习题课讲一下习题什么的(虽然总共也没几道题目23333)
本人整理的Activity以及一些课堂笔记:Activity.docx
成绩出来了,貌似并没有调分,评分9->8。
实验太烂,如果是老师出的就是老师烂。听课不如看书。考试80分往年题。给分不行。那每一项都够烂了
前排提醒:不调分! 不调分!不调分!
期末占70%,考试一定要打印研究生的资料,文科题挺多的。
实验连着5周做其实挺累人的,而且大部分时间都是在配置环境,码代码5分钟,配环境1整天(特别是cuda和hadoop),学得东西都挺浅的。
建议大三想学的人旁听就行了,不然绩点很难看(听助教说85分以上的人不多)。期末考多少给多少真的难顶。(辛辛苦苦学了一学期,期末考了个均分,只给了81,助教还说81其实蛮高的了,浪费我一次放弃成绩的机会)
后面复习的时候感觉内容不算很难,但是之前听课的时候都在划水,导致课堂上提的问题以及小测很多都答不上来,所以上课还是要认真听课的
有没有uu推荐一下上并行计算课程,上科大徐云老师(陈国良老师)的课程,还是自己上课听CMU-15-418还是Standford-CS149呢,属于想学习并行计算相关方向的
多谢各位!
上课感觉还可以,讲的东西比较清楚,不过这PPT属于是祖传课件了,在网上搜类似的关键词,可以发现十年前发表的博客里都有这份PPT的身影。
实验差评,第四第五次实验照着文档输指令,最后写完了也不知道干了啥
上课感觉还可以,讲的东西比较清楚,不过这PPT属于是祖传课件了,在网上搜类似的关键词,可以发现十年前发表的博客里都有这份PPT的身影。
实验差评,第四第五次实验照着文档输指令,最后写完了也不知道干了啥。前三次也比较水,基本都是祖传实验,CUDA实验给出的矩阵乘法样例代码里面用到的许多远古API在现在的CUDA 11里面早就不见了,导致Demo直接无法通过编译。
考试开卷,内容比较水,请一定要打印往年的卷子,请一定要打印往年的卷子,请一定要打印往年的卷子。重叠部分很高,不带往年卷血亏。
给分不知如何,因为到教务系统上出分了我也不知道卷面分是多少,貌似根据别的同学的评价一般般?
今年与往年卷子不一样的一道题:
给出N个数与N^2个处理器,我们可以在O(1)内找到N个数里最大的那个,那么给出N个数与N个处理器,如何在O(log(log(n)))时间内找到N个数里最大的数。(均方划分与归并、T(n)=T(sqrt(n)),听说在老师研究生版并行计算课程PPT里有,以后是不是要考虑把研究生的课件也打出来带进去。。。)