讲师指导的培训班
加速计算高阶——将 CUDA C++ 应用扩展至多节点 GPU

当今的高性能计算 (HPC) 和深度学习应用都离不开 GPU 集群的计算能力。编写能够在集群环境中正确有效地利用 GPU 的 CUDA® 应用程序需要一组独特的技能。在本课程中,您将学习可以有效地将CUDA C++ 应用程序扩展到 NVIDIA GPU 集群上所需的工具和技术。您将通过在交互式的由多个 NVIDIA GPU 支持的云环境中编写多个 CUDA C++ 应用程序的代码来实现此目的。您将先接触几个多 GPU 的编程方法,包括 CUDA 感知的消息传递接口 (MPI),然后再学习本课程的重点,即NVSHMEM™ 。

NVSHMEM 是一种基于 OpenSHMEM 的并行编程接口,它可为 NVIDIA GPU 集群提供高效且可扩展的通信。NVSHMEM 为跨越多个 GPU 的内存的数据创建一个全局地址空间,并且可以通过细粒度的 GPU 启动操作、CPU 启动操作和对 CUDA 流的操作对这个全局地址空间进行访问。 NVSHMEM 的异步的、由GPU 发起的数据传输消除了 CPU 和 GPU 之间的同步开销。它还支持既有通信又有计算的长时间运行的核函数,从而减少在强扩展时可能限制应用程序性能的开销。 NVSHMEM 已被用于多个系统,例如位于橡树岭的领先计算设施 (OLCF) 的 Summit 超级计算机、劳伦斯利弗莫尔国家实验室的 Sierra 超级计算机。

 

学习目标

完成本课程后,您将能够了解:

  • 学习几种编写多 GPU CUDA C++ 应用程序的方法。
  • 使用多种多 GPU 通信模式并了解它们在功能和性能方面所做的权衡。
  • 使用支持 CUDA 的 MPI 和 NVSHMEM,通过单程序多数据 (SPMD) 范式编写可移植、可扩展的 CUDA 代码。
  • 使用 NVSHMEM 的对称存储模型及其从 GPU 启动数据传输的能力,对多 GPU 的 SPMD 代码进行改进。
  • 练习常见的多 GPU 编码范式,例如域分解和 Halo Exchange。
  • 针对各种 GPU 集群配置,探索各个需要考虑的注意事项。

下载课程大纲 (PDF 79.5 KB)

课程大纲

介绍
(15 分钟)
  • 讲师介绍
  • 登录课程
多 GPU 编程范式
(120 分钟)

以实现蒙特卡罗近似法的 CUDA C++ 应用为例,探索多种利用多 GPU的 CUDA C++ 编程技术

  • CUDA 如何运用多个 GPU
  • 学习如何启动和使用端到端的直接内存访问
  • 使用 CUDA 感知的 MPI 实现 SPMD
休息 (60 分钟)
学用 NVSHMEM
(120 分钟)

学习使用NVSHMEM编写代码并了解其对称内存模型

  • 使用 NVSHMEM 为多 GPU 编写 SPMD 代码
  • 利用对称内存让所有 GPU 访问其他 GPU 上的数据
  • 使用 GPU 发起的内存传输
休息 (15 分钟)
与 NVSHMEM 的 Halo 交换
(90 分钟)

用 NVSHMEM 练习常见的编码算法,如 Halo 交换和域分解,并进行测试

  • 用 NVSHMEM 实现拉普拉斯方程的 Jacobi 求解法
  • 使用 NVSHMEM 重构单个 GPU 的一维波动方程的解法
  • 完成测试并获得 NVIDIA 证书
课程回顾
(45 分钟)
  • 了解在 GPU 集群上实现各种应用所需要考虑的权衡
  • 复习关键的知识要点,并答疑
  • 填写课程调查
总结
(15 分钟)
  • 了解如何设置与所学课程一样的、属于您自己的容器化环境
  • 了解如何进一步学习,以便于后续运作您自己的项目
 

培训详情

课程时长:8 小时,课后 6 个月内可以继续访问课件(实验资源用量有限额)

价格:

  • AI 培训班:每人 3500 元(提供发票)
  • 企业专属培训:联系我们,微信添加 NVIDIALearn

预备知识:

  • 具有专业 CUDA C/ C++ 编程经验

可以选择学习如下 DLI 课程,以具备本课程所需预备知识:

工具、库和框架:CUDA, MPI, NVSHMEM

课程测评问题类型:基于代码技能评测,学员需要重构一个单 GPU 一维波函数求解器,使用 NVSHMEM 支持 GPU 集群。

培训证书:成功完成本课程和测试后,您将获得 NVIDIA DLI 证书,以证明您在这一主题领域的能力,助力您的职业发展。

学习此课程的硬件要求:您需要一台笔记本电脑或台式机,且能够运行最新版 Chrome 或 Firefox 浏览器。我们为您提供在云端完全配置的 GPU 加速工作站的专用访问权限。

课程语言:中文

学习更多 DLI 课程

加速计算基础——CUDA C/C++

加速计算基础——CUDA Python

加速计算进阶——用多 GPU 加速 CUDA C++ 应用

如果您的企业希望获取或提升在 AI、加速数据科学或加速计算方面的核心技能,NVIDIA DLI 有讲师指导的培训将是您的信心之选。

遇到问题 ?