我尝试了不同版本的 cuda 驱动程序,以使 GPU 与 tensorflow 2.13 配合使用。它不适用于最新的 nvidia 驱动程序版本 12.2。
我能够找到 cuda 11.8、python 3.10 来识别 GPU,但 nvidia-smi 显示 cuda 11.8 和 nvidia 驱动程序 12.2。因此 python 脚本出现错误。
谷歌搜索后我发现 cuda 11.8 适用于 nvidia-driver 520。我安装了默认驱动程序 535。当我安装 520 时出现错误。所以我卸载了驱动程序并重新启动。Ubuntu 没有重新启动。
我只能选择较旧的内核来重新启动。所以我有两个问题:
- 我可以安装哪个 nvidia 驱动程序与 cuda 11.8 并在 ubuntu 22.04 上运行?
- 我该如何恢复我的内核?我认为最新的内核是 6.32-generic。我之前通过卸载 nvidia-drivers 恢复了内核。但这次没用。我怀疑安装 520 时出现的错误损坏了内核中的其他内容。
编辑: 问题 2 的答案:我通过运行恢复了内核
sudo ubuntu-drivers autoinstall
卸载以前的驱动程序后(尽管失败了)
问题 1 的更多信息: nvidia-smi 提供 nvidia-smi 535.104.05 CUDA 版本 12.2 nvcc --version release v11.8
但是在使用 tensorflow 2.13 运行 python 脚本时会出现错误:
Could not load library libcublasLt.so.12. Error: libcublastLs.so.12 cannot open shared object fiel: No such file or directory.
因此,cuda 11.8 似乎无法与最新的 nvidia-driver 535(即 cuda-smi 12.2)一起运行。因此,在我看来,需要降级 nvidia-driver,但 520 将导致 ubuntu 22.04 崩溃。有什么想法可以与 tensorflow 2.13 配合使用吗?
编辑2:“驱动程序版本 520.61. 05 应与 CUDA 11.8 兼容。此外,根据此文档,驱动程序版本 525 与 CUDA 11.8 不兼容。软件包:cuda-runtime-11-8 版本:11.8。” -https://forums.developer.nvidia.com/t/ubuntu-cuda-11-8-package-wrong-dependency-on-cuda-drivers/238891
因此,在我看来,tensorflow 2.13 无法与 ubuntu 22.04 上的 gpu 配合使用。因为 cuda 12.2 无法与 tensorflow 配合使用,而 cuda 11.8 可以与 tensorflow (和 GPU) 配合使用,但 cuda 11.8 需要 nvidia-520,而 ubuntu 22.04 无法使用 (它会崩溃)。
PyTorch 可以工作。如果 GPU 加速也能为 TensorFlow 修复就好了。