在 NVIDIA GPU 上进行 CUDA 并行编程(硬件和软件)
CUDA Parallel Programming on NVIDIA GPUs HW and SW
高性能计算的性能优化和分析
学习内容
-
全面了解 GPU 与 CPU 架构
-
了解图形处理单元 (GPU) 的历史,直到最新的产品
-
了解 GPU 的内部结构
-
了解不同类型的记忆以及它们如何影响性能
-
了解 GPU 内部组件中的最新技术
-
了解 GPU 上 CUDA 编程的基础知识
-
开始在 Windows 和 Linux 上使用 CUDA 对 GPU 进行编程
-
了解最有效的并行化方法
-
分析和性能优化
-
利用共享内存
要求
-
C 和 C++ 基础知识
-
Linux 和 Windows 基础知识
-
计算机体系结构基础知识
描述
这门综合课程专为希望深入了解 CUDA 编程和 NVIDIA GPU 架构的任何人而设计。该课程从 GPU 硬件的基础知识开始,引导您了解 NVIDIA 架构的演变、其关键性能特征以及 CUDA 的计算能力。通过实际编程示例和分步指导,学生将深入了解 GPU 计算、CUDA 编程和性能优化。无论您是经验丰富的开发人员还是并行计算的新手,本课程都提供了充分利用 GPU 编程潜力所需的知识和技能。
以下是您将从此 CUDA 编程课程中获得的内容的详细摘要:
-
全面了解 GPU 与 CPU 架构:学生将学习 GPU 和 CPU 之间的根本区别,深入了解 GPU 如何设计用于并行处理任务。
-
深入了解 NVIDIA 的 GPU 架构:该课程涵盖了 NVIDIA GPU 架构的演变,包括 Fermi、Pascal、Volta、Ampere 和 Hopper,并教授如何根据关键性能参数比较不同代。
-
动手 CUDA 安装:学生将学习如何在各种操作系统(包括 Windows、Linux 和使用 WSL)上安装 CUDA,同时探索 CUDA 工具包附带的基本功能。
-
CUDA 编程概念简介:通过实际示例,学生将了解核心 CUDA 编程原理,包括线程和块管理,以及如何开发向量加法等并行应用程序。
-
分析和性能调整:本课程将指导学生使用 NVIDIA 强大的分析工具(如 Nsight Compute 和 nvprof)来测量 GPU 性能,并通过解决占用和延迟隐藏等问题来优化代码。
-
掌握矩阵运算的 2D 索引:学生将探索用于高效矩阵计算的 2D 索引技术,学习优化内存访问模式并提高性能。
-
性能优化技术:他们将通过实际示例获得优化 GPU 程序的技能,包括处理非 2 的幂数据大小和微调操作以实现最高效率。
-
利用共享内存:本课程深入探讨了共享内存如何通过改进数据局部性和最大限度地减少全局内存访问来提高 CUDA 应用程序性能。
-
了解 Warp Divergence:学生将了解 Warp Divergence 及其对性能的影响,以及最小化 Warp Divergence 并确保并行线程顺利执行的策略。
-
分析和调试的实际应用:本课程强调实际用例,学生将应用调试技术、错误检查 API 和高级分析方法来微调他们的 CUDA 程序以适应实际应用程序。
在课程结束时,学生将精通 CUDA 编程、分析和优化,使他们具备开发高性能 GPU 应用程序的技能。
本课程适合谁:
- 对于任何对 GPU 和 CUDA 感兴趣的人,如工科学生、研究人员和任何其他人
评论(0)