Skip to content

并行与分布式系统架构技术

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

任课老师为张毅超老师。