NVIDIA 发布了最新的 CUDA Toolkit 软件版本 11.8。此版本的重点是通过新的硬件功能增强编程模型和 CUDA 应用程序加速。
NVIDIA Hopper 和 Ada Lovelace 中特定于架构的新功能最初是通过库和框架增强功能公开的。NVIDIA Hopper 架构的完整编程模型增强功能将从 CUDA Toolkit 12 系列开始发布。
CUDA 11.8 有几个重要的特性。这篇文章提供了关键功能的概述。
CUDA 应用程序可以立即受益于新 GPU 系列中增加的流式多处理器 (SM) 数量、更高的内存带宽和更高的时钟频率。
CUDA 和 CUDA 库公开了基于 GPU 硬件架构增强的新性能优化。
基于 11.7 中的延迟内核加载功能,NVIDIA 在 CPU 模块端添加了延迟加载。这意味着函数和库在 CPU 上的加载速度更快,有时会显着减少内存占用。权衡是在应用程序中首次加载函数的点处的最小延迟。这总体上低于没有延迟加载的总延迟。
所有与延迟加载一起使用的库都必须使用 11.7+ 构建才有资格进行延迟加载。
在此版本中,默认情况下未在 CUDA 堆栈中启用延迟加载。要为您的应用程序评估它,请使用环境变量CUDA_MODULE_LOADING=LAZY集运行。
您现在可以终止MPS 环境中运行的任何应用程序SIGINT或SIGKILL任何应用程序,而不会影响其他正在运行的进程。虽然不是真正的错误隔离,但此增强功能可实现更细粒度的应用程序控制,尤其是在裸机数据中心环境中。
NVIDIA JetPack 为 Jetson 平台上的硬件加速 AI-at-the-edge 提供了完整的开发环境。从 CUDA Toolkit 11.8 开始,使用 NVIDIA JetPack 5.0 及更高版本的 Jetson 用户无需更新 NVIDIA JetPack 版本或 Jetson Linux BSP(板级支持包)即可升级到最新的 CUDA 版本,以与 CUDA 桌面版本保持一致。
计算开发人员工具的设计与 CUDA 生态系统同步设计,可帮助您识别和纠正性能问题。
在Nsight Compute中,您可以公开低级性能指标、调试 API 调用和可视化工作负载,以帮助优化 CUDA 内核。CUDA 11.8 中引入了新的计算功能,以帮助在 NVIDIA Hopper 架构上进行性能调整活动。
您现在可以分析和调试 NVIDIA Hopper 线程块集群,从而提高性能并增强对 GPU 的控制。集群调整与对 Tensor Memory Accelerator (TMA) 的分析支持相结合,这是 NVIDIA Hopper 在全局和共享内存之间的快速数据传输系统。
Nsight Compute for CUDA 11.8 中也包含一个新示例。该示例提供源代码和预先收集的结果,引导您完成整个工作流程,以识别和修复未合并的内存访问问题。探索更多CUDA 示例,让自己掌握在自己的应用程序中使用工具包功能和解决类似案例的知识。
使用Nsight Systems进行分析可以深入了解诸如 GPU starvation、不必要的 GPU 同步、CPU 并行化不足以及跨 CPU 和 GPU 的昂贵算法等问题。了解这些行为以及深度学习框架(如 PyTorch 和 TensorFlow)的负载,有助于您调整模型和参数,以提高单 GPU 或多 GPU 的整体利用率。
CUDA 工具包中还包含用于 CPU 和 GPU 线程调试的CUDA-GDB以及用于功能正确性检查的Compute Sanitizer都支持 NVIDIA Hopper 架构。
此版本的 CUDA 11.8 Toolkit 具有以下功能: