伯克利 CS 267 并行计算
课程名称: Applications of Parallel Computers
课程官网地址:2024年春、2020年春
先修课程: 了解基本的数值计算、线性代数、C/C++ 编程,最好有 MPI/OpenMP 或 GPU 编程经验
重要程度:
课程评点: 研究级别的并行计算课程,由计算机科学系(EECS)开设
课程说明
CS267 最初的设计目的是教授学生如何在并行计算机上编程,以高效地解决科学与工程中具有挑战性的问题。这类问题通常需要极快的计算机来执行复杂的模拟,或分析海量的数据集。该课程旨在服务于来自多个院系、具有不同背景的学生,尽管我们会默认学生具备一定的常规(非并行)编程语言技能,以及足够的数学基础,以理解课程中提出的问题和算法解决方案。CS267 可作为计算科学与工程方向(Computational Science and Engineering)的 **指定强调课程(研究生辅修方向)**之一。
虽然这个基本框架仍然保留,但从 2000 年中期开始,计算领域发生了一次巨大变革:不仅最快的计算机是并行的,几乎所有计算机都开始变成并行架构。这是因为半导体制造的物理限制使得传统的串行处理器无法像过去那样持续每 18 个月提速一倍(即“摩尔定律”)。因此,所有需要更快运行的程序都必须转向并行化。目前普遍认为,仅靠编译器在大多数串行程序中自动发现足够的并行性来解决这个问题几乎是不可能的。关于并行化趋势的背景,可点击这里了解更多(原文中的“click here”)。
CS267 的学生将会:
- 了解并行计算体系结构的全貌;
- 掌握当前主流的并行编程工具;
- 接触多个开放性研究问题。
此外,课程讲座还将广泛介绍数值模拟、数据分析、机器学习等应用场景中的并行化策略。