NVIDIA CUDA 是 NVIDIA 的并行计算平台和 GPU 计算编程模型。 它提供了一个端到端的驱动程序、编译器、运行时和库堆栈,可让你在 NVIDIA GPU 上运行 AI、高性能计算(HPC)和其他加速工作负载。 CUDA 提供了一个编程模型、数学和通信库,以及基于 PyTorch、TensorFlow、JAX 和 vLLM 等常用框架的工具。
Azure,CUDA 是安装和用于解锁 NVIDIA GPU 驱动的虚拟机(VM)的计算功能的软件层。 CUDA 在 Linux 和 Windows 上运行。
CUDA 平台的关键组件
CUDA 是一个完整堆栈,而不是单个驱动程序。 其主要组成部分包括:
-
CUDA 工具包(编译器和运行时):
nvcc编译器、CUDA 运行时和 CUDA C++ 编程模型,可用于编写和生成 GPU 加速代码。 - 数学和计算库:GPU 加速库,例如 cuBLAS、cuFFT、cuSPARSE、cuDNN(深度学习基元),以及框架调用性能关键操作的 CUTLASS。
- NCCL(NVIDIA 集合通信库):一种用于在多个 GPU 间扩展训练和 HPC 工作负载的集合通信库。
- 编译器和工具:基于 LLVM 的编译器,以及分析和调试工具,例如 Nsight 系统、Nsight 计算和 cuda-gdb。
纯计算技术栈
CUDA 面向 GPU 的常规用途计算功能(驱动 AI、机器学习和 HPC 工作负载的并行数学),并且不使用将 3D 几何图形转换为呈现像素的图形光栅化管道。 换句话说,CUDA 将 GPU 视为大规模并行数学引擎,而不是作为显示或呈现设备。
选择虚拟机大小时,这一区别很重要。 Azure 提供具备图形处理能力的 NVIDIA GPU 规格,例如 NVadsA10 v5 系列,其中包含适用于专业可视化和虚拟桌面场景的光栅化管线。
Azure 支持 CUDA 的 GPU 虚拟机大小
以下Azure GPU VM 大小使用 NVIDIA GPU 并支持 CUDA。 通过以下链接查看各个系列的完整规格。
| VM 规格系列 | NVIDIA GPU | 典型工作负荷 |
|---|---|---|
| NCasT4 v3 系列 | NVIDIA T4 | 推理、小规模训练和可视化。 |
| NVadsA10 v5 系列 | NVIDIA A10 | GPU 加速图形处理、虚拟桌面和轻量级推理。 |
有关 GPU 加速大小的完整列表,请参阅 GPU 加速 VM 大小概述。
受支持的操作系统
CUDA 支持 Linux 和Windows。 NVIDIA 验证的特定分发版、内核版本和驱动程序版本取决于 CUDA 工具包版本和 GPU:
- Linux:CUDA 支持广泛的企业分发版,包括 Ubuntu、Red Hat Enterprise Linux (RHEL)、Rocky Linux、SUSE Linux Enterprise Server (SLES)和 Debian。
- Windows:CUDA 支持Windows Server和Windows 11。 还可以在 适用于 Linux 的 Windows 子系统(WSL 2)中运行 CUDA 工作负荷。
由于 NVIDIA 会更新已验证的 OS、驱动程序和 CUDA 工具包版本与每个版本的组合,因此在部署之前,请始终确认 NVIDIA CUDA 工具包文档中 的当前要求。
在 Azure NVIDIA GPU VM 上安装 CUDA
在 NVIDIA GPU VM 上获取预配置环境的建议方法是部署已包含 NVIDIA GPU 驱动程序和 CUDA 的Azure 市场映像。 还可以在受支持的分发版上手动安装 NVIDIA GPU 驱动程序和 CUDA 工具包。
有关 Azure 的分步指导,请参阅:
有关 NVIDIA 自己的安装和参考文档,请参阅: