所有 cuda、pytorch、cuda 工具包都匹配,但 `torch.cuda.is_available()` 仍然为 False

问题描述 投票:0回答:1

我想在具有 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

有人可以帮我吗?非常感谢!

python deep-learning pytorch
1个回答
0
投票

看来你的PyTorch版本(2.0.1+cu117)和CUDA版本(11.7)确实兼容。然而,torch.cuda.is_available() 返回 False 可能有几个原因。

以下是解决该问题的一些建议:

  1. 确保您使用的是最新版本的 PyTorch。您可以使用以下命令升级 PyTorch:

pip install --升级 torch

  1. 确保您的 NVIDIA GPU 驱动程序是最新的。您提到驱动程序版本是 515.48.07,但从 NVIDIA 网站检查最新驱动程序总是一个好主意。

  2. 验证CUDA工具包是否已正确安装。确保 CUDA 二进制文件位于系统的 PATH 中。您可能需要将 CUDA 路径添加到 .bashrc 或 .bash_profile:

导出 PATH=/usr/local/cuda/bin:$PATH

将 /usr/local/cuda 替换为 CUDA 安装的实际路径。

  1. 确保 cuDNN 已安装且位于正确的路径中。 PyTorch 依赖 cuDNN 进行 GPU 加速。您可以从 NVIDIA 网站下载 cuDNN 并按照安装说明进行操作。

  2. 确保您的 GPU 对系统可见。检查GPU是否处于独占模式并且系统权限没有问题。

  3. 仔细检查您的 PyTorch 版本与 CUDA 版本的兼容性。确保您使用的 PyTorch 版本是使用正确的 CUDA 版本构建的。

© www.soinside.com 2019 - 2024. All rights reserved.