并行与分布式系统架构技术
100640 并行与分布式系统架构技术
一、总述
本课程主要讲解并行系统的经典技术。课程主要分为导论、MPI 框架、Pthread 和 OpenMP 框架与 Cuda 框架,4 个部分。
课程从进程并行、线程并行、GPU 并行 4 个方面讲解并行计算中的核心概念。
课程对分布式技术涉及较少。
1. 教材
参考教材:Pacheco P. An introduction to parallel programming[M]. Elsevier, 2011.
该教材主要包含 MPI, Pthread, OpenMP 3 部分内容,课程中有关这些部分的 ppt 来自本书的配套 ppt。Cuda 在本书中没有涉及。
2. 作业
本课程共有 4 次作业,作业内容为使用指定框架对给定计算任务优化。老师会安排几节课,让所有同学分享自己优化的思路。
课程评分根据 4 次作业程序运行速度排名,以及思路分享中展示的技术(质量和数量)。
2022 秋季学期的作业为
-
基于 MPI 的基本矩阵运算
给定 3 个矩阵,要求对矩阵乘法和加法运算使用 MPI 框架优化。
要求给出并行计算下的加速比和效率。
-
采用 Pthread 对 BMP 图片进行卷积
使用 Pthread 框架加速 bmp 图片卷积的速度。作业中给定图片与卷积核,要求对比 2 核与 4 核的并行加速比与效率。
-
采用 OpenMp 对 BMP 图片进行卷积
要求同上,框架指定为 OpenMP。
-
采用 Cuda 对 BMP 图片进行卷积与池化
要求同上,框架指定为 Cuda。
3. 课堂
2022 春季学期为部分线上授课,印象中只有过 1 次考勤。
上课回答问题有加分,老师会在提问前告知这个问题值多少分,但随着课程进行,分值有膨胀的成分。
4. 考试
本课程不设置考试。
5. 成绩
本课程给分较为含糊,没有明确的百分比。由课堂表现和作业两部分组成。
5. 个人评价
本课程的课内内容相对基础,主要是对 3 个框架和并行计算基本概念的教学。
在作业实践环节,因为作业给分制度,存在一定竞争,同学们会积极深入挖掘性能优化的方法。因此,在听取其他同学的分享过程中,本人学习到了更多优化技巧。
但较为可惜的是,老师没有给出作业的 best practice 和相关的 code,因此能学到什么部分取决于其他同学有多卷(笑)。
本课程给分占比不甚明确,加之作业按照排名给分,如果存在绩点焦虑,请慎重考虑再选课。
此评价仅代表个人观点,具有较大的主观性和片面性,请对比其他同学的观点最后做出判断。
二、任课老师
1. 15012 Zhang
任课老师为张毅超老师。