我想在具有 NVIDIA A100-SXM4-40GB GPU 的集群上运行深度学习模型。这是我的 Cuda 和 PyTorch 的版本:
>>> print(torch.__version__)
2.0.1+cu117
>>> print(torch.version.cuda)
11.7
nvcc --version 给了我:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
nvidia-smi 给我:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.48.07 Driver Version: 515.48.07 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
| 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 A100-SXM... On | 00000000:07:00.0 Off | On |
| N/A 28C P0 41W / 400W | 45MiB / 40960MiB | N/A Default |
| | | Enabled |
+-------------------------------+----------------------+----------------------+
从我看来,所有版本都是匹配的,但是
torch.cuda.is_available()
仍然是False。
我也尝试了
python -m torch.utils.collect_env
,并得到以下结果:
PyTorch version: 2.0.1+cu117
Is debug build: False
CUDA used to build PyTorch: 11.7
ROCM used to build PyTorch: N/A
OS: Ubuntu 20.04.1 LTS (x86_64)
GCC version: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Clang version: Could not collect
CMake version: version 3.27.7
Libc version: glibc-2.31
Python version: 3.8.18 (default, Sep 11 2023, 13:40:15) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.4.0-121-generic-x86_64-with-glibc2.17
Is CUDA available: False
CUDA runtime version: 11.7.64
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: GPU 0: NVIDIA A100-SXM4-40GB
Nvidia driver version: 515.48.07
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_infer.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_adv_train.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_infer.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_cnn_train.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8.4.0
/usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8.4.0
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
有人可以帮我吗?非常感谢!
看来你的PyTorch版本(2.0.1+cu117)和CUDA版本(11.7)确实兼容。然而,torch.cuda.is_available() 返回 False 可能有几个原因。
以下是解决该问题的一些建议:
pip install --升级 torch
确保您的 NVIDIA GPU 驱动程序是最新的。您提到驱动程序版本是 515.48.07,但从 NVIDIA 网站检查最新驱动程序总是一个好主意。
验证CUDA工具包是否已正确安装。确保 CUDA 二进制文件位于系统的 PATH 中。您可能需要将 CUDA 路径添加到 .bashrc 或 .bash_profile:
导出 PATH=/usr/local/cuda/bin:$PATH
将 /usr/local/cuda 替换为 CUDA 安装的实际路径。
确保 cuDNN 已安装且位于正确的路径中。 PyTorch 依赖 cuDNN 进行 GPU 加速。您可以从 NVIDIA 网站下载 cuDNN 并按照安装说明进行操作。
确保您的 GPU 对系统可见。检查GPU是否处于独占模式并且系统权限没有问题。
仔细检查您的 PyTorch 版本与 CUDA 版本的兼容性。确保您使用的 PyTorch 版本是使用正确的 CUDA 版本构建的。