我知道这个问题的变体已经被问过多次,但即使在解决了其中的许多问题之后,我仍然陷入困境。我正在尝试在我的笔记本电脑上运行支持 CUDA 的 pytorch。但是,torch.cuda.is_available() 返回 False。选定的系统信息和诊断输出如下:
nvidia-smi 输出:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.135 Driver Version: 550.135 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 RTX A500 Laptop GPU Off | 00000000:03:00.0 Off | N/A |
| N/A 42C P0 7W / 30W | 8MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
nvcc --版本:
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
torch.utils.collect_env:
PyTorch version: 2.5.1
Is debug build: False
CUDA used to build PyTorch: 12.6
ROCM used to build PyTorch: N/A
OS: Manjaro Linux (x86_64)
GCC version: (GCC) 14.2.1 20240910
Clang version: 18.1.8
CMake version: version 3.31.2
Libc version: glibc-2.40
Python version: 3.12.7 (main, Oct 1 2024, 11:15:50) [GCC 14.2.1 20240910] (64-bit runtime)
Python platform: Linux-6.11.11-1-MANJARO-x86_64-with-glibc2.40
Is CUDA available: False
CUDA runtime version: 12.6.85
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: GPU 0: NVIDIA RTX A500 Laptop GPU
Nvidia driver version: 550.135
cuDNN version: Probably one of the following:
/usr/lib/libcudnn.so.9.5.1
/usr/lib/libcudnn_adv.so.9.5.1
/usr/lib/libcudnn_cnn.so.9.5.1
/usr/lib/libcudnn_engines_precompiled.so.9.5.1
/usr/lib/libcudnn_engines_runtime_compiled.so.9.5.1
/usr/lib/libcudnn_graph.so.9.5.1
/usr/lib/libcudnn_heuristic.so.9.5.1
/usr/lib/libcudnn_ops.so.9.5.1
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
我还尝试使用 venv 和 conda env 运行针对 CUDA 12.4 编译的 pytorch 2.5.1,结果基本相同。 并不是说它应该有任何区别,但 CUDA 都在我的 PATH 和 LD_LIBRARY_PATH 中。
据我了解整个设置,版本应该匹配,我真的不明白出了什么问题。如果您需要任何其他信息,请告诉我!
我还在 PyTorch 论坛 (https://discuss.pytorch.org/t/cuda-not-available/215422) 中提出了这个问题,并将添加在那里找到的任何解决方案。
我的回答很尴尬:突然,torch.cuda.is_available()现在返回True。而且,现在它已经这样做了,它可以在主机上的 venv 和 conda env 中以及使用 CUDA 12.1 的另一个 conda env 中运行。不幸的是,对于通过搜索最终到达这里的人来说,我完全不知道在此期间发生了什么变化。所以,抱歉大家打扰了,无论如何还是感谢您的评论!