选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业选修 | 学分:2.5 |
本课程简要讨论并行计算的硬件基础,即当代并行计算机的体系结构模型;着重讨论并行计算的核心内容,即并行算法的设计和典型常用的并行数值算法;以及并行计算的软件支持,即并行程序设计的原理和主要的编程方法。这些内容强调将并行计算机体系结构、并行算法设计和并行编程融为一体,注重讨论并行计算的基本原理与方法,体现出应用问题对并行编程的需要,并力图反映本学科的最新成就与学科发展前沿。
考试: 期末考试难度较高,内容包括并行计算中的算法通信时间分析、伪代码编写等,部分题目要求默写书上的算法(串行和并行不同模型下的通信时间分析)。有同学反映卷子出的有水平但难度大,特别是手写编程题。考试内容广泛且细节多,因此需要平时认真学习。
给分: 总体来说,给分相当宽松。虽然课程难度大,但最终给分较好,有同学期末成绩一般但总评得分较高,最高可达99。此外,小测的内容相对简单,期末考试成绩也显示老师在给分上相对宽容。
作业和实验: 作业量适中,共四次,主要出自陈国良院士的课本内容。实验是第一个学期采用OJ平台,开始时系统不完善,导致实验期间体验差,但助教和老师努力改进。本学期实验难度较大,某些题目需要较高的技术含量(如最后的CUDA题)。有同学因此破防,反映测试方法和样例问题较多,但系统改进后,未来体验应会更好。
教学水平: 孙经纬老师备课认真,尽力上好这门课,补充了许多课本以外的前沿知识,提供了较为全面的内容,但教学过程中存在声音虚平等问题,可能导致部分同学上课时昏昏欲睡。老师采用唐氏儿试卷,多次强调不可完全参照往年题目,内容改革较大。
课程内容: 相较于之前的教学内容,孙老师补充了现代并行计算的前沿知识。内容涉及并行计算算法、MPI、OpenMP、CUDA等,课程负担较重,需要较多前置知识(如计算机组成原理、操作系统等),适合有兴趣的同学深度学习。选课需谨慎,建议有相关背景知识的同学选修。
总体评价: 课程内容扎实,给分宽松但难度较大,适合认真学习并行计算的同学。需注意平时积累和复习,充分理解和掌握算法细节和MPI、OpenMP等并行编程技术。
实验写破防了,好多bug
原来是oj平台的问题,乐
唐氏儿试卷,感觉这门课事很多,给分暂不定,花了我挺多时间.
课程难度较高,但认真听讲和做实验的话会收获不少东西
老师上课很认真,听助教说老师备课花了很多功夫
作业和考试确实都有点难,希望自己最后能有个满意的分数吧
这门课以前是孙广中老师和徐云老师交替上的,今年讲义和实验都有较大的改动。老师补充了很多课本(20年前的古董)以外的并行计算前沿知识,但都没作考核要求。另外老师上课有点儿让人昏昏欲睡,一不留神就掉队了。实际上期末考试的体感并不是特别好,首先ppt上的算法要嗯背,尤其是在不同并行模型上的不同选路下的通信时间分析,有道题让你各算一遍,加起来就是四遍才10分,考前也看过两遍ppt,但细节就是没把握住啊。最后那道编程题也几乎白给(给了MPI的函数头,但对我这种菜逼而言就是只会写两个include)。实验写的更是难受,估计往年都一致认为实验太水,今年想着法子整到oj上让大家做,但实际上oj是现搭的,一边修一边让大家写。最后结合老师从开学初的劝退,但期末前陆陆续续退了一半学生的实际情况来看,这门课的质量确实扎实了非常多,但难度提升的太大,后面选课的同学需要谨慎,复习一定要把review中写到的算法完全吃透(伪代码、通信时间复杂度),还有好好看看MPI和OpenMp的内容。
具体给分未知。
给分很可以,本人期末卡在40%下方,小测两次缺了一次,实验也扣了一些分,最终84。
2024.6.4
怪不得闭卷,出一堆书上的算法让默写,卷子出的真有水平
2024.6.5
oj最后一道cuda给哥们干破防了,到底要怎么写啊
2024.6.6
cuda终于AC了,原来有个叫做spmm的算法应用下就可以了
2024.6.19
出分了,给分真不错,故上调一分评分
期末好难,过了两遍ppt根本记不住😭
实验还没做(oj之前据说有点问题),最后一题手写代码20分吃大亏,虽然给了函数原型,但是没动过手根本背不住什么 MPI_COMM_WORLD 啊,tag啊,status之类的
占坑凌晨更新回忆版试卷
1 阅读超算材料
2 加速比相关,考虑额外代价W0
3 判断题
4 二叉树计算通信时间
5 并行计算前缀和,SIMD-SM模型
6 矩阵向量乘法
7 矩阵乘法 fox乘法
8 手写 openmp + mpi
用 辛普森法(积分数值算法,题目给了公式)计算圆的面积来近似计算 pi
有很多节点,每个节点 m大核 m小核,要求负载划分合理
上课:其实还不错,不是非常ppt reader,主要是老师上课声音实在有点虚且平淡,很难让人听下去。
作业:基本上都是陈国良院士那本书上的题目,总共四次作业,工作量还行不算太大。
实验:可能是本学期最值得诟病的地方了,因为首次使用oj,学期开始时还没有完成建设,导致学期差不多过了一半才能进行正确性测试,最后十天才能测时限,期末周才能开始冲刺实验,体验极差。
给分:超级好,本人目测期末在20%出头的位置,实验作业都差不多满分,小测都到了,原以为有个4.0就不错了,但却惊人地拿到了4.3。
可以看得出来,孙老师还是非常想上好这门课的,包括引入了一系列的改革(包括将openmp,mpi的内容提前,改成了oj进行测试。,但可能是第一次上这门课,经验还有所不足,导致大家的体验不是很好。
并行计算其实还是一门非常硬核的课程,2.5学分的课程容量其实并不小(从学期开始150人选课到考试的70人可见一斑),而且前置知识(计组,OS等)对于这门课程的学习也非常重要。想要选课的同学还是慎重。
附上出分后老师在课程群的说明,大抵会对以后的选课同学有所帮助吧
谢谢各位同学。
第一次上课,存在很多很多不足。
由于是专业选修课,中途退课的同学较多。最后坚持下来的同学,我觉得70%以上都很优秀。不过有40%的优秀率限制,其实对这些同学很不利。
关于课程负担的问题,这个在可退课的开学前两周已经反复提醒过了,大家要听劝啊。
1.关于实验
OJ到比较晚才勉强可用,给大家带来很多不便。这个问题应该明年就好很多了。
实验题目也需要做一定调整。
实验得分有些两极分化,多数人都有90+,还有不少则很低。因此明年会调整评分的分段点,至少高分的要求会提高一些。
2.关于考试
考试内容的争议较大,集中在以下几个方面:
2.1 comment: 跟往年卷没什么相关性
response: 应该至少有50%以上相关。以及考前几周课上多次强调不可完全参照往年卷,会有变化。
2.2 comment: 都是考书上的算法默写
response: 考书外的不是更难吗。。。(开卷考试一定是在书上找不到直接答案的)
2.3 comment:都是考些边边角角的细节
response:课程本身内容比较多,涉及计算机很多方面,有许多前置课程学习需求。靠考前突击,只过2遍ppt是很难学好学全的。总体来说,经常来上课的同学,卷面和实验都明显要好一些。
2.4 comment:手写编程题不会写
response:也不用写得能编译运行,关键点写出来就行。以及我以为数值积分求pi的程序在PPT和教材里反复出现,大家应该已经烂熟于心了。。。不过明年应该改良一下出题方式。
2.5 comment:算法运行时间分析太麻烦了
response:算法运行时间分析在教材、PPT、作业、小测中出现频率非常高,其重要性应该不用说了吧。明年会加入GPU的内容考察,减少算法运行时间分析的占比。
评价为孙老师继承了sgz老师奶王的衣钵
lecture:一倍速昏昏欲睡,二倍速津津有味(bushi
slides:建议配合课程食用,不然有些简陋了
实验:如果你是这学期从头开始接触那个oj平台,那实验无疑是史中史,到了最后几天oj平台才彻底好用
撇开实验平台本身不谈,实验本身设计的还可以,如果测试方法和样例很早就合理了,那我愿意给它一个很高的评价
不然当你发现单线程结果薄纱多线程的时候你会感慨我做nm并行化呢😋
不过如今oj已经好用了,明年体验应该会挺好的,也感谢szy助教的付出了
给分:神中神了,期末89,小测都去了,实验甚至有个没达到助教时间内,总评给了99😭
给分好,期末75分,目测在前25%上下,小测都到,但是应该没对几题,作业和实验都被扣了一些分。最后总评90。
讲课好,不催眠,补充了很多内容,但不在考核要求内。每周新增退课人数已经成为固定笑话。小测只有两次,是根据当堂课的一些内容的补充和创新。老师特意在端午节前一周进行小测,以便端午假期前一天大伙可以逃课出行(bushi).
助教做oj系统辛苦了,但是两个月的实验,实验截止前十天才有一个完好的系统确实比较难受。但是现在做好了应该明年的同学就可以舒舒服服地做实验了。