OpenShift / RHEL / DevSecOps 汇总目录
说明:本文已经在 OpenShift 4.19 + OpenShift AI 2.21 的环境中验证

概念和关系

  • CUDA Toolkit:面向开发者的用于构建 CUDA 应用的 SDK 工具包,包含 CUDA Runtime(libcudart.so),compiler(nvcc)和 libraries。
  • CUDA driver:User-mode 驱动组件(libcuda.so)。
  • NVIDIA GPU driver:Kernel-mode 驱动组件(nvidia.ko)。

注意:在 Linux 中,CUDA driver 和 Kernel-mode 驱动组件一同包含在 NVIDIA 显示驱动包中。
在这里插入图片描述

查看 NVIDIA 驱动和 CUDA 运行时版本

使用 nvcc -V 命令可以查看 CUDA Runtime 的版本,如以下的 release 12.6。

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Oct_29_23:50:19_PDT_2024
Cuda compilation tools, release 12.6, V12.6.85
Build cuda_12.6.r12.6/compiler.35059454_0

使用 nvidia-smi 命令可以查看 NVIDIA 驱动的版本,如以下的 Driver Version: 550.144.03。注意:该命令输出的 CUDA Version: 12.4 表示 Driver Version: 550.144.03 支持的 CUDA Runtime 最高版本。

$ nvidia-smi
Thu Jul 31 13:59:23 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03             Driver Version: 550.144.03     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA L4                      On  |   00000000:35:00.0 Off |                    0 |
| N/A   39C    P8             12W /   72W |       1MiB /  23034MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

使用版本匹配的 NVIDIA 驱动和 CUDA 运行时

在这里插入图片描述

如前所说,nvidia-smi 所报告的 CUDA Verion 是该 NVIDIA 驱动所支持最高版本的 CUDA Runtime,因此该数值最好能高于 nvcc -V 所报告的版本。这是 CUDA 的向后兼容性,即较新的驱动程序/驱动程序 API 支持较旧的 CUDA 工具包/运行时 API。

另外,从 CUDA 11 版本开始 CUDA 工具包中的各个组件在同一主版本中的不同小版本之间保持二进制兼容,即小版本兼容性。在 CUDA 运行时的小版本发布时不再提高最低驱动版本的要求。这意味着 nvidia-smi 所报告的 CUDA Version 的小版本可以低于 nvcc -V 所报告的 CUDA Runtime 小版本。

如果 nvidia-smi 所报告的 CUDA Version 的大版本低于 nvcc -V 所报告的 CUDA Runtime 大版本,那么需要安装 CUDA compatibility package 就可以获得向前兼容性

参考

https://stackoverflow.com/questions/53422407/different-cuda-versions-shown-by-nvcc-and-nvidia-smi
https://docs.nvidia.com/deploy/cuda-compatibility/
https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#cuda-compatibility-and-upgrades
https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/platform-support.html
https://pytorch.org/get-started/locally/
https://www.jimangel.io/posts/nvidia-rtx-gpu-kubernetes-setup/

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐