我买了一台配备 Nvidia GPU (RTX A1000 6GB) 的新机器。我读到 GPU 能够使用 CUDA 和 cuDNN。现在我尝试在 WSL2 (Ubuntu 22.04) 和 Poetry 上使用 cuDNN 设置 CUDA。 CUDA 被识别,但 cuDNN 不被识别。
首先,我安装了 CUDA 驱动程序,如下页所述:https://www.youtube.com/watch?v=JaHVsZa2jTc
然后我尝试从Nvidia的页面安装cuDNN驱动程序(https://developer.nvidia.com/cudnn-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local)
作为 .deb 和 .tar,但是在启动 Python 并导入 TensorFlow 后,我仍然收到以下消息:
E tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:9342] 无法注册 cuDNN 工厂:在已经注册了插件 cuDNN 工厂的情况下尝试注册工厂
我在网上搜索了一些教程,但大多数都只是与 Anaconda 相关。 有人有关于如何设置 WSL 以使用 CUDA 和 cuDNN 的清晰说明吗?
确保您拥有正确的 NVIDIA CUDA 兼容性软件版本、适用于您的操作系统和 NVIDIA 硬件的 CUDA 驱动程序。根据提供的详细信息,您似乎正在尝试为 CUDA 12.x 安装 cuDNN 9.3.0。因此,根据您提供的规格(Ubuntu 22.04 和 NVIDIA Ampere 架构),您应该拥有,
请参阅 CUDA 工具包安装指南此处。
您可以在此处下载 NVIDIA divers。
有关完整兼容性的详细信息,请参阅 cuDNN 支持矩阵。
Ubuntu 用户需要 Zlibg 来实现 cuDNN。您只需运行
sudo apt-get install zlib1g
即可安装它
假设您想在本地安装 cuDNN,
wget https://developer.download.nvidia.com/compute/cudnn/9.3.0/local_installers/cudnn-local-repo-ubuntu2204-9.3.0_1.0-1_amd64.deb
如果您的系统架构是ARM,请将命令中的
amd64.deb
替换为arm64.deb
。如果您的系统架构与上述两个不同,请参阅底部提供的三个链接中的第一个。
导航到包含 cuDNN Debian 本地安装程序文件的本地目录。
启用本地存储库。
sudo dpkg -i cudnn-local-repo-$distro-9.x.y_1.0-1_$architecture.deb
sudo cp /var/cudnn-local-*/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn9-cuda-12
奔跑
sudo apt-get -y install libcudnn9-samples
进入可写路径
cd $HOME/cudnn_samples_v9/mnistCUDNN
编译
mnistCUDNN
示例。
make clean && make
运行
mnistCUDNN
示例。
./mnistCUDNN
如果 cuDNN 在您的 Linux 系统上正确安装并运行,您将看到类似以下内容的消息:
Test passed!
具体安装,包括不同系统架构的安装,请参考这里的本地安装指南
如果您想进行网络安装,请参阅此处网络安装指南
有关在 Linux 上安装 cuDNN 的完整文档,单击此处
当我尝试在带有 RTX4060 GPU 的系统的 wsl 中安装 cuDNN 时,我也遇到了类似的问题。遵循这些步骤帮助我解决了问题。如果问题仍然存在,请尝试执行全新安装。删除您之前安装的 CUDA 工具包、NVIDIA 驱动程序和 cuDNN 安装,然后按照提供的安装指南中的步骤重新安装它们。