关于此课程

本课程的目标是帮助你为开发、分析和实现并行和局部有效算法奠定坚实的基础。本课程侧重于理论基础。为了让你实际了解算法如何映射到真实系统及其产生的行为,我们会将算法理论与 HPC 系统上的实际练习相结合,例如共享内存节点上的 Cilk Plus 或 OpenMP、图形协处理器 (GPU) 的 CUDA 架构,以及用于分布式内存系统的消息传递接口 (MPI) 和分区全局地址空间 (PGAS) 模型。

本课程为可扩展并行算法的研究生水平入门课程。“可扩展”实际指两件事情:在问题增加时保持高效,以及在系统规模增加时保持高效(以核心或计算节点的数量计量)。要真正在这两个方面扩展算法,你需要明智地减少渐近的复杂性,就像你在 CS101 之后对顺序算法所采取的方式;而且你还需要考虑减少通信与数据活动。本课程就介绍了你实现这些目的所需的基本算法技术。

你将学到的技术包括三大类机器的主要算法设计和分析概念:对于多核和多核心共享内存计算机,使用工作记忆广度模型;对于分布式内存计算机,如集群和超级计算机,使用网络模型;以及对于顺序或并行计算机,使用深存储层级结构(例如缓存)。你将看到这些技术如何应用于基本问题,如排序、树和图形上的搜索,以及线性代数等。本课程的实践方式是实现你将学习的算法和技术,在真正的并行和分布式系统上运行它们,你可以验证理论合理的方法是否能在实践中进行完美转化。(你将使用的编程模型包括 Cilk Plus、OpenMP 和 MPI,也可能用到其他模型。)

学费
免费
学习时间
大约 0
难度
高级
你将获得

Rich Learning Content

Interactive Quizzes

Taught by Industry Pros

Self-Paced Learning

Student Support Community

开始你的旅程

学习这门免费课程,迈出通往机器学习工程师(中/英)职业道路的第一步。

免费课程

高性能计算

合作企业 佐治亚理工学院

通过创新性的自主学习方式,掌握新技能,提升竞争力。

Icon steps 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d
 
 

课程讲师

Rich Vuduc
Rich Vuduc

讲师

Catherine Gamboa
Catherine Gamboa

讲师

先修知识及要求

这是算法和数据结构的第二门课程,即佐治亚理工学院 CS3510-B 或优达学城算法入门课程。

为了完成编程作业,学生需要有 C 或 C++ “低级”和“高级”语言编程经验。

在 *nix 环境中(例如 Unix、Linux)使用命令行界面的经验。

查看使用优达学城的技术要求

为什么学习这门课程?

我将获得什么?
Instructor videos Learn by doing exercises Taught by industry professionals