NVIDIA 发布了最新的 CUDA 工具包软件版本 11.8 。该版本的重点是通过新的硬件功能增强编程模型和 CUDA 应用程序加速。
NVIDIA Hopper 和 Ada Lovelace 中新的特定于体系结构的功能最初通过库和框架增强公开。 NVIDIA Hopper 体系结构的完整编程模型增强将从 CUDA Toolkit 12 系列开始发布。
CUDA 11.8 有几个重要特性。本文概述了关键功能。
NVIDIA Hopper 和 NVIDIA -Ada 架构支持
CUDA 应用程序可以立即从新的 GPU 系列中增加的流式多处理器( SM )计数、更高的内存带宽和更高的时钟频率中受益。
CUDA 和 CUDA 库公开了基于 GPU 硬件体系结构增强的新性能优化。
模块加载延迟
NVIDIA 基于 11.7 中的惰性内核加载特性,在 CPU 模块端添加了惰性加载。这意味着函数和库在 CPU 上的加载速度更快,有时内存占用也会大大减少。折衷是在应用程序中首次加载函数时的延迟最小。这总体上低于没有延迟加载的总延迟。
所有用于延迟加载的库都必须使用 11.7 以上版本构建,才能进行延迟加载。
在此版本中,默认情况下, CUDA 堆栈中未启用延迟加载。要为应用程序评估它,请使用环境变量CUDA_MODULE_LOADING=LAZY
集运行。
改进的 MPS 信号处理
现在,您可以使用SIGINT
或SIGKILL
终止在 MPS 环境中运行的任何应用程序,而不会影响其他正在运行的进程。虽然不是真正的错误隔离,但此增强功能支持更细粒度的应用程序控制,特别是在裸机数据中心环境中。
NVIDIA JetPack 安装简化
NVIDIA JetPack 为 Jetson 平台边缘的硬件加速 AI 提供了一个完整的开发环境。从 CUDA Toolkit 11.8 开始, NVIDIA JetPack 5.0 和更高版本上的 Jetson 用户可以升级到最新的[ZCK0 版本,而无需更新 NVIDIA JetPack 版本或 Jetson Linux BSP (板支持包),以与 CUDA 桌面版本保持一致。
有关详细信息,请参阅 Simplifying CUDA Upgrades for NVIDIA Jetson Developers .
CUDA 开发人员工具更新
计算开发工具与 CUDA 生态系统紧密相连,可帮助您识别和纠正性能问题。
Nsight Compute
在 Nsight Compute 中,您可以公开低级性能指标、调试 API 调用和可视化工作负载,以帮助优化 CUDA 内核。 CUDA 11.8 中引入了新的计算功能,以帮助 NVIDIA Hopper 架构的性能调整活动。
现在,您可以评测和调试 NVIDIA Hopper 线程块集群,它可以提高性能并增强对 GPU 的控制。集群调优与张量内存加速器( TMA )的配置支持一起发布,该加速器是 NVIDIA Hopper 全球和共享内存之间的快速数据传输系统。
Nsight Compute for CUDA 11.8 中还包含一个新示例。此示例提供了源代码和预收集的结果,它们引导您完成整个工作流,以确定并修复未平衡的内存访问问题。了解更多 CUDA samples ,使自己具备使用工具箱功能和在自己的应用程序中解决类似情况的知识。
Nsight 系统
使用 Nsight Systems 进行分析可以深入了解 GPU 饥饿、不必要的 GPU 同步、 CPU 并行化不足以及 CPU 和 GPU 中昂贵的算法等问题。了解这些行为和深度学习框架的负载,如 PyTorch 和 TensorFlow ,可以帮助您调整模型和参数,以提高整体单个或多个 GPU 的利用率。
其他工具
CUDA 工具包中还包括 GPU 和 GPU 线程调试的 CUDA-GDB 以及功能正确性检查的 Compute Sanitizer 都支持 NVIDIA Hopper 架构。
总结
此版本的 CUDA 11.8 工具包具有以下功能:
- 第一个支持 NVIDIA Hopper 和 NVIDIA -Ada Lovelace 的版本 GPU
- 延迟模块加载扩展为支持 CPU 端模块和设备端内核的延迟加载
- 改进了 MPS 信号处理,可中断和终止应用程序
- NVIDIA JetPack 安装简化
- CUDA 开发人员工具更新
有关详细信息,请参阅以下资源:
- Optimizing CUDA Machine Learning Codes with Nsight Profiling Tools
- CUDA Toolkit download
- NVIDIA Hopper architecture
- NVIDIA Ada Lovelace Architecture
- CUDA Compatibility
- NVIDIA Releases Open-Source GPU Kernel Modules
- NVIDIA Nsight Compute and NVIDIA Nsight Systems
- NVIDIA Jetson and NVIDIA JetPack SDKs