K20Xm TESLA CUDA 驱动程序(nvidia-430、440 等)无法安装在运行 Ubuntu 16.04 LTS 的 Dell T7400 和 Dell T7500 上

K20Xm TESLA CUDA 驱动程序(nvidia-430、440 等)无法安装在运行 Ubuntu 16.04 LTS 的 Dell T7400 和 Dell T7500 上

我有两台戴尔工作站(一台戴尔 T7400 和一台戴尔 T7500),每台都有 32GB RAM 和两块 nVidia TESLA K20Xm GPU(每台机器一块)。工作站运行的是 Ubuntu 16.04 LTS。

我想使用 Tensorflow 和 CUDA 10.1 或 10.2(首选)。但是,尽管尝试了多种不同的方法,我还是无法让 nVdia GPU 和 CUDA 驱动程序正常工作。

适用于配备 nVidia TESLA K20Xm GPU 的 Dell T7500 的 CUDA 驱动程序 第一台机器是 T7500,配有 K20Xm GPU 卡和旧的 Quadro FX1800 显卡(高分辨率下运行良好)。我首先检查了 -440 版本驱动程序的预安装清单,以确保我有正确的起点。我下载了运行文件(通过从 nVidia 网站选择 OS 等选项),并尝试在 lightdm 服务停止的情况下从终端会话运行它。它最初警告“预安装脚本失败”,但阅读其他论坛后我继续执行此操作。然后它说它检测到旧的 Quadro FX1800 GPU 但会忽略它(我觉得这很有希望,因为我需要使用 TESLA K20Xm)。我选择是安装 DKMS 模块,然后重新启动后我无法登录(登录循环立即将我注销)。大多数论坛报告登录循环可以通过删除 nVidia 驱动程序或检查 .Xautority 和 .XICEauthority 的权限(两者都具有正确的权限)来纠正。删除驱动程序并不能解决问题,我不得不删除所有显示管理器和 lightdm 软件包并重新安装,但这样我就没有 GPU 驱动程序了。我再次尝试运行文件安装,但已将 Nouveau 列入黑名单。GPU 无法工作(尽管设置了路径,但 nvidia-smi 无法正确运行),而且我的显示设置非常差。

我觉得可能是 nVidia Quadro FX 显卡加剧了问题,因此我将其替换为 ATI Radeon 显卡(“[AMD/ATI] RV710/M92 [Mobility Radeon HD 4530/4570/545v]”)。我安装了 Radeon 驱动程序,运行良好(高分辨率),然后通过运行文件重新尝试安装 -440 驱动程序。当此操作失败时,我删除了所有内容,并尝试添加 PPA 并使用 apt-get install nvidia-440 和 CUDA 包进行安装,但仍然没有成功。我还尝试了“ubuntu-drivers autoinstall”,但没有成功。这台 T7500 工作站现在只剩下损坏的软件包、未安装的 GPU 和低分辨率图形。看来 LightDM 中的菜单栏和图标现在已丢失。

适用于配备 nVidia TESLA K20Xm GPU 的 Dell T7400 的 CUDA 驱动程序 下一台机器(也配有 TESLA K20Xm GPU)是一台戴尔 T7400,配有一台旧的(但运行良好)nVidia Quadro NVS300(“NVIDIA Corporation GT218 [NVS 300] (rev a2)”)。我尝试了 CUDA 驱动程序安装运行文件,据我所知,该文件有安装驱动程序、cuda 驱动程序、cuda 示例等选项。同样,我首先关闭了 lightdm 服务并将 nouveau 列入黑名单。安装后,我遇到了类似的问题。图形驱动程序被破坏了。然后我尝试删除 K20 GPU 驱动程序“nvidia-uninstall”,并再次尝试,但使用 PPA 和第一个 418 驱动程序,然后是 430 驱动程序,仍然没有成功。此工作站现在也存在登录循环的相同问题。

所以我的问题是:i) 如何正确安装 nVidia GPU 驱动程序和显卡(不破坏显卡驱动程序,因为可以理解的是,GPU 没有图形端口)。此外,DKMS 如何与 nVidia 驱动程序配合使用,我应该使用它吗?(我所知道的是,它维护内核构建,这对将来的更新、内核重建很有用)。

这两台机器是运行不带交换机的 Infiniband 的集群的一部分,使用 Mellanox 驱动程序启动和运行这个结构非常棘手,所以我不想重新安装 Ubuntu 16.04(而且从那时起已经完成了很多工作/配置,我不想重新做)。

如有任何建议我将不胜感激,我认为这不应该那么难!

杰米

答案1

这里有很多 CUDA 安装答案,但基本上,您可以从标准存储库获取 Nvidia 驱动程序,只需获取 deb 文件并解压(而不是安装)即可避免 Nvidia run/deb 包提供的这些过时驱动程序上的所有 CUDA 依赖性问题。10.x debs 只包含其他 deb 文件,删除不需要的 Nvidia 文件。然后再次将它们全部解压。

您应该会在本地目录中获得一整套 CUDA 文件(bin 和 lib),无需任何包管理器插件。更改 PATH 和 LD_LIBRARY_PATH 以包含它们。您可能仍然需要的是 CUDA 所需的旧 gcc/g++ 版本 - 安装它们,然后在 cuda/bin 目录中添加指向旧版本的链接。不要使用 update-alternatives 更改系统范围的编译器默认值。您的系统将毫无问题地更新和维护内核和 Nvidia 驱动程序。除非您明确自己执行此操作,否则您将永远不会获得 CUDA 更新。

相关内容