已安装 NVIDIA 驱动程序,但 nvidia-smi 无法在 CentOS 上运行

已安装 NVIDIA 驱动程序,但 nvidia-smi 无法在 CentOS 上运行

我安装了 NVIDIA 驱动程序,并通过以下输出进行验证cat /proc/driver/nvidia/version

NVRM 版本:NVIDIA UNIX x86_64 内核模块 390.30 Wed Jan 31 22:08:49 PST 2018 GCC 版本:gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

然而运行却nvidia-smi出现如下错误:bash: nvidia-smi: command not found...

更多信息:我正在运行 CentOS 7,并尝试 a) 让 nvidia-smi 工作 b) 然后安装 CUDA。

答案1

提问于 3 年零 1 个月前

你说 我安装了 NVIDIA 驱动程序但是你没有描述你是如何安装它的。请注意,nvidia 驱动程序是一个内核模块,并且通常丢失的yum update内核更新发生时; nvidia 内核模块不会保留(除非您安装了 DKMS),因此 nvidia 功能将停止。

然而,这并不能解释为什么/usr/bin/nvidia-smi说命令未找到,这是另一回事,但这就是nvidia-smi应该在你的 PATH 中的位置,并且/usr/bin显然应该在你的 PATH 中。只需通过以下方式重新安装 nvidia英伟达运行文件将修复该问题...

下边是我的首选方法在 RHEL/CentOS 7.x 下安装 NVIDIA(和 cuda),这对我很有帮助(大约过去 3 年)

  • 从 nvidia下载NVIDIA-Linux-x86_64-460.67.run{获取适合您显卡的正确版本} 大约 150mb
  • 从nvidia下载cuda_11.2.2_460.32.03_linux.run{无论最新版本是什么,超过2GB}
  • su扎根;将两者复制到/root; chmod 700双方;
  • systemctl set-default multi-user.target
  • rebootsystemctl isolate multi-user.targetinit 3
  • 运行 /root/NVIDIA-Linux-x86_64-460.67.run {并观察构建内核模块部分}
  • 成功安装后,/usr/bin/nvidia-smi应该在场并可以工作;
  • 然后执行systemctl isolate graphical.targetinit 5,如果图形控制台工作,则登录,systemctl set-default graphical.target如果您愿意,则设置回。
  • 最好进行最后一次重新启动以验证一切正常

CUDA 安装基本是相同的过程。

cuda.run 文件中捆绑的 nvidia 图形驱动程序并不总是最新的。

最新的 nvidia.run 驱动程序将(应该)始终适用于任何 cuda 版本。

您不需要在 cuda.run 文件中安装捆绑的 nvidia 图形驱动程序,因此我的偏好是在安装 cuda 时取消选中该驱动程序。

答案2

我在工作中运行 HPC 集群,并且我们安装了 cuda 驱动程序 RPM。它提供了 nvidia-smi,但它位于 $INSTALL_ROOT/libs/440.64.00/bin 目录中。 $INSTALL_ROOT 可能因系统而异,因此您必须首先找到它。

当我记起我们使用的是名为 cuda-driver 的 RPM,而不是名称中带有 nvidia 的 RPM 后,我发现了如下所示的 nvidia-smi 工具:

rpm-qa| grep -i cuda | grep -i cuda | grep -i cuda | grep -i cuda xargs rpm -ql | xargs rpm -ql | xargs rpm -ql grep -i nvidia-smi

这给了我三个路径名(你可以在这里看到我的 INSTALL_ROOT )

/cm/local/apps/cuda-driver/libs/440.64.00/bin/nvidia-smi /cm/local/apps/cuda-driver/libs/440.64.00/share/doc/NVIDIA_GLX-1.0/html/nvidia -smi.html /cm/local/apps/cuda-driver/libs/440.64.00/share/man/man1/nvidia-smi.1.gz

然后我在其中一个上使用 rpm -qf 来获取 RPM 的名称。

希望有帮助!

答案3

通常,在新系统上工作时 - 如果您具有 sudo 访问权限,则:

第一次尝试

sudo apt-get install nvidia-cuda-toolkit 或

sudo yum 安装 nvidia-cuda-toolkit

取决于您正在使用的系统。

如果这不起作用,请尝试其他解决方案。

对于没有 sudo 访问权限的机器 - 从官方网站下载驱动程序,然后先安装 nvidia-driver,然后安装 cuda 以获取相同的驱动程序版本。

nvidia-sminvidia-utils是您需要安装相应驱动程序版本的软件包的一部分。

例如:对于 nvidia-driver 440,您需要安装sudo apt install nvidia-utils-440

快速说明 使用 aptitude 而不是 apt-get

sudo apt install aptitude -y

sudo aptitude install -y nvidia-driver-535 nvidia-dmks-535

相关内容