【问题标题】:GpuArrayException: GPU is too old for CUDA versionGpuArrayException:GPU 对于 CUDA 版本来说太旧了
【发布时间】:2018-05-15 19:14:13
【问题描述】:

编辑: 主要问题是软件包安装程序的 CUDA Toolkit 和 NVidia 驱动程序版本的组合不适合我的硬件设置。安装*.run file of CUDA 解决了它

我正在尝试安装libgpuarraypygpu,以便在Xubuntu 16.04 上使用theano,如下所述: http://deeplearning.net/software/libgpuarray/installation.html

我有一台配备 Quadro 1000M GPU 的联想 W520,它具有“计算能力 2.1”,并且根据 Wikipedia 与 CUDA Toolkit 最高版本 8 兼容

我已经使用Debian installer 安装了 CUDA Toolkit 8.0.61-1。 nbody 模拟(链接中的第 4 步)运行良好。 apt-show-versions cudacuda:amd64/unknown 8.0.61-1 upgradeable to 9.0.176-1

nvidia-smi 表示已安装驱动程序版本 384.90。

DEVICE=cuda0 python -c "import pygpu;pygpu.test()" in bash 给出“GpuArrayException: GPU is too old for CUDA version”。

我之前安装了 CUDA Toolkit 9.0,然后才意识到这不兼容,然后apt-get remove在安装 8.0 之前安装了它。

  • 以前的安装 9.0 有什么问题吗?我怎样才能知道?
  • 或者这是 pygpu 中的错误?
  • 还有其他建议吗?

【问题讨论】:

  • 384.90 驱动程序中包含的 CUDA 驱动程序版本可能对您的 Fermi GPU 不满意。我建议安装最新的 375.xx 驱动程序,然后重新运行测试。 384.90 驱动正式支持 Fermi GPU,但 CUDA 9 与 Fermi GPU 不兼容。因此,如果您想在 Fermi GPU 上运行 CUDA,我的建议是使用 CUDA 8 以及与 CUDA 8 关联的驱动程序分支,即 375.xx,因为它也与 Fermi 兼容。
  • 我想试试。 apt-get install nvidia-375 无论如何都要安装 384。然后我从nvidia.com/Download/Find.aspx 下载了驱动程序,在没有 Xserver 的情况下重新启动,安装了它,而不管错误“分发提供的预安装脚本失败”。之后,nvidia-smi 没有找到驱动程序。所以我再次安装了 CUDA Toolkit 8 并以驱动程序版本 384 结束,同样的问题:-/
  • 您可能无法非常轻松地使用包管理器方法 (apt-get) 来降级 CUDA 工具包下的驱动程序。对于这样的工作,我通常推荐运行文件安装程序方法。看来您已尝试过,但如果您之前安装了包管理器驱动程序,那么此时您不能只使用运行文件安装程序。您必须先清除旧安装。 linux 安装指南中介绍了这方面的说明。如果你能把事情清理干净,就不要使用包管理器方法,使用 CUDA 8 运行文件安装程序。

标签: python-2.7 cuda gpu nvidia


【解决方案1】:

Robert 向我指出了我将在此处详细描述的解决方案。因此,如果您使用的是较旧的 GPU,并且在从分发包安装驱动程序时遇到问题,请按照以下方式从运行文件安装。

1.清理以前安装的混乱

    sudo apt-get remove --purge nvidia*
    sudo apt-get remove --purge cuda*
    sudo apt autoremove

这将删除任何以前安装的与 nvidia/cuda 相关的软件包。根据this thread (askubuntu) ubuntu-desktop 对nvidia-common 有依赖,所以用sudo apt-get install ubuntu-desktop 重新安装。 Xubuntu 16.04 并非如此

2。下载运行文件驱动

可以在这里找到:https://developer.nvidia.com/cuda-80-ga2-download-archive。请务必选择安装程序类型“运行文件”。

正如 Robert 所指出的,在我的情况下,这是 cuda_8.0.61_375.26_linux.run,具有兼容驱动程序版本 375.26 的 CUDA 8。

3.预安装说明(适用于 (x)ubuntu)

NVidia : 2. Pre-installation Actions 告诉你确保你有

  • 通过lspci | grep -i nvidia 提供支持CUDA 的GPU。
  • 兼容的发行版uname -m && cat /etc/*release
  • gcc 已安装gcc --version
  • 兼容的内核头文件sudo apt-get install linux-headers-$(uname -r)

NVidia : 4. Runfile Installation 有点短 IMO,尤其是对于像我这样的 Linux 新手。所以这里是细节:

4.禁用新手驱动程序

使用以下内容编辑/创建/etc/modprobe.d/blacklist-nouveau.conf

    blacklist nouveau
    options nouveau modeset=0

sudo update-initramfs -u 构建新内核。

这是为我做的。 here (askubuntu)描述的解决方案更全面,以防万一遇到问题。

5.在命令行重启

可能有不同的方法。我是通过修改 grub 来做到的。编辑/etc/default/grub。添加/更改这两个键(在备份现有的 grub 文件后):

    GRUB_CMDLINE_LINUX="nomodeset"
    GRUB_CMDLINE_LINUX_DEFAULT="quiet 3"

sudo update-grub

然后重新启动。如果在恢复模式下启动失败,仍然可以正常工作。然后您可以撤消对 grub 的更改。

6.安装 NVidia 驱动程序 + CUDA 工具包

您现在应该启动到控制台。首先检查 nouveau 是否真的被禁用了

lspci -nnk | grep -iA2 vga.

有。像 kernel driver in use: ***** 不应该读新风格。

现在cd到您最初下载运行文件的路径,并且:

sudo sh cuda_8.0.61_375.26_linux.run

然后恢复您之前的 grub 设置并重新启动。你应该有一个工作 NVidia 安装,并且 pygpu 测试不应该再失败(至少不是因为错误的 CUDA 版本)

7.安装后操作

这应该是必需品。让我知道它是否对某人有帮助,而且我不仅仅是为自己写下来^_^

【讨论】:

    猜你喜欢
    • 2013-05-11
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2019-07-29
    • 2020-08-08
    • 2012-07-22
    相关资源
    最近更新 更多