在 ubuntu 19.1 上安装 cuda 工具包 6.5

在 ubuntu 19.1 上安装 cuda 工具包 6.5

我有一块 NVIDIA Quadro FX 5800 GPU,想用它来进行 GPU 编程。我当前的操作系统是 ubuntu 19.10。我可以从 ubuntu 附加驱动程序安装“驱动程序版本:340.107”,现在 nvidia-smi 运行正常。

根据我所做的搜索,我发现要安装 nvcc,我需要安装 Cuda 工具包,与我的显卡版本兼容的最新版本是 Cuda 工具包 6.5。我可以从 NVIDIA 网站下载此版本,但由于其依赖项,我无法安装它。例如,它需要 gcc 4.8,而这个版本太旧了。有人知道如何在我相对较新的 Ubuntu 版本上使用这张旧显卡进行 GPU 编程吗?

答案1

我花了几天的时间尝试了不同的方法,包括使用 docker 镜像(但没有用)才弄清楚如何解决这个问题:

  1. 从 ubuntu->软件和更新->附加驱动程序->使用 NVIDIA 二进制驱动程序安装最新的兼容驱动程序(就我而言,最新兼容驱动程序为 340.107)。确保 nvidia-smi 正常运行。

  2. 通过将以下行添加到 /etc/apt/sources.list 然后运行 ​​sudo apt update && sudo apt install g++-4.7 gcc-4.7 来安装 gcc-4.7 和 g++-4.7

    deb http://dk.archive.ubuntu.com/ubuntu/ xenial main deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

    之后可以从 /etc/apt/sources.list 中删除上述几行

  3. 如果您之前安装了较新版本的 gcc 和 g++,请从 $PATH 中删除符号链接的 gcc 和 g++,并为新安装的 gcc-4.7 和 g++-4.7 创建新的符号链接(例如 sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc)

  4. 安装所需的库:apt-get install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev

  5. 下载cuda_6.5.14_linux_64.运行从 NVIDIA 网站提取:./cuda_6.5.14_linux_64.run --tar mxvf

  6. 从解压的包中复制 InstallUtils.pm 文件并将其复制到您的 perl-base 位置(对我来说它是 /usr/lib/x86_64-linux-gnu/perl-base)

  7. 设置你的 perl 库路径(例如 export PERL5LIB=/usr/lib/x86_64-linux-gnu/perl-base)

  8. 然后从解压的包中安装 cude 工具包(sudo sh cuda-linux64-rel-6.5.14-18749181.run)

  9. 安装并设置 PATH 和 LD_LIBRARY_PATH 后,您应该能够编译和运行 cuda 示例。


您可以在 cuda-samples/0_Simple/simplePrintf 中找到一个简单的示例,然后通过运行 make 命令对其进行编译。以下是我得到的输出:

GPU 设备 0:“Quadro FX 5800”,计算能力为 1.3

设备 0:“Quadro FX 5800”,具有 Compute 1.3 功能,调用 cuPrintf()。输出:

[1, 0]: 值为:10 [1, 1]: 值为:10 [1, 2]: 值为:10 [1, 3]: 值为:10 [1, 4]: 值为:10 [1, 5]: 值为:10 [1, 6]: 值为:10 [1, 7]: 值为:10 [3, 0]: 值为:10 [3, 1]: 值为:10 [3, 2]: 值为:10 [3, 3]: 值为:10 [3, 4]: 值为:10 [3, 5]: 值为:10 [3, 6]: 值为:10 [3, 7]: 值为:10 [2, 0]: 值为:10 [2, 1]: 值为:10 [2, 2]: 值为:10 [2, 3]: 值为:10 [2, 4]: 值为:10 [2, 5]:值为:10 [2, 6]:值为:10 [2, 7]:值为:10 [0, 0]:值为:10 [0, 1]:值为:10 [0, 2]:值为:10 [0, 3]:值为:10 [0, 4]:值为:10 [0, 5]:值为:10 [0, 6]:值为:10 [0, 7]:值为:10

相关内容