OpenShift AI - 匹配 NVIDIA 驱动和 CUDA Toolkit 版本
说明:本文已经在 OpenShift 4.19 + OpenShift AI 2.21 的环境中验证。
《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/
更多推荐
所有评论(0)