linux - 在(Ubuntu 14.04、Mint 17.2 或 Fedora)上安装 CUDA 的确定且稳定的方法

标签 linux cuda ubuntu-14.04 nvidia fedora-21

<分区>

我在 Linux 上安装 CUDA 时遇到问题。 我已经尝试在以下位置安装 CUDA 6: Ubuntu 14.04 (x64) Linux 薄荷 17 (x64)

问题:

我尝试简单地下载/执行 nvidia CUDA 可执行文件(这是一个从 nvidia 网站下载的 *.run 文件) 我试图从 nvidia 提供的 .deb 文件安装 CUDA 我尝试从 edgers 存储库安装 CUDA

我已经学习了数十个教程,我已经重新安装了至少 20 次 Linux,只是为了确保我正在使用一个干净的版本。

无论如何:我注意在过程结束时定义变量环境:PATH 和 LD_LIBRARY_PATH,以便它们指向最近安装的 CUDA 目录。 (/path/to/cuda/bin 用于 PATH,/path/to/cuda/lib64 用于 LD_LIBRARY_PATH。

在流程结束时,我尝试编译并启动 nVidia 提供的示例代码,您可以安装/下载示例代码。 我正在运行的示例是“deviceQuery”。 (位于/path/to/cuda/samples/)

无论如何,我有 nvidia(专有驱动程序安装),而不是 Nouveau。

无论如何,当我启动这个 deviceQuery 时,我遇到了一个错误。错误类似于:未检测到支持 CUDA 的设备。 或者缺少 nvidia-uvm 之类的东西(我尝试安装 nvidia-uvm,当我尝试从 edgers PPA 存储库安装时,我在启动 deviceQuery 示例时遇到的错误是没有检测到任何支持 CUDA 的设备。

问题

什么是在任何版本的 Linux 上安装 CUDA 的正确、稳定、清晰的方法。 我已准备好下载、安装任何版本的 Linux。

非常感谢您的帮助

最佳答案

Ubuntu 14.04 和 Linux Mint 17 都不是官方支持的 CUDA 6 发行版。

我刚刚在 Fedora 20 64 位上安装了两次 CUDA 6.5RC。

  1. 加载 Fedora 20,选择 C ​​开发个性
  2. 从 developer.nvidia.com 下载 CUDA 6.5RC 64 位安装程序(.run 文件)(您必须是注册开发人员)
  3. 切换到运行级别 3。为此,请查看 /etc/inittab 中的说明。 ,您基本上想以 root 身份执行此操作:

    ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
    
  4. 删除 nouveau 驱动程序(作为 root):

    echo -e "blacklist nouveau\noptions nouveau modeset=0"  > /etc/modprobe.d/disable-nouveau.conf
    dracut --force
    
  5. 重新启动,并以 root 身份运行 CUDA 安装程序(.run 文件)。如果你有 4GB 或更少的系统内存,你可能想要指定不使用 tmpfs 的临时目录:

    sh cuda_6.5.11_rc_linux_64.run -tmpdir /var/tmp
    

    选择accept , y , 或 <enter>酌情接受加载驱动程序、工具包和示例的默认选项。

  6. 如果需要,您现在可以切换回运行级别 5。

  7. 运行nvidia-smi作为 root,每次重新启动系统时。如果您正在运行 X(即运行级别 5),则没有必要这样做。正如入门文档中所讨论的,还有其他方法可以解决这个问题。

另请参阅 linux getting started guide .

其他 RHEL/CentOS/Fedora 发行版的说明与此类似,如果您不想使用 6.5RC 工具包,应该可以使用以前的 CUDA 版本(例如 6)。请务必选择官方支持您选择的 CUDA 工具包的发行版(在最近的工具包中,请参阅入门文档。)

您还需要做那些您已经知道的事情,例如构建示例、设置您的 PATH 和 LD_LIBRARY_PATH 环境变量等。这个简短的回答不能替代阅读入门文档。

关于linux - 在(Ubuntu 14.04、Mint 17.2 或 Fedora)上安装 CUDA 的确定且稳定的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24896404/

相关文章:

c++ - 将指针指向的图像数据分成多段

docker - 如何在 Ubuntu 14 上解决 "Rather than invoking init scripts...."

linux - 为什么不能停止vsftpd服务器?

ubuntu - Ubuntu 14.04 中的 Couchdb 'init terminating in do_boot' 错误

linux - alsa - 内存泄漏?

linux - 我如何通过 cli 删除 Linux 中的目录

linux - 如何 grep 整行,传递给 sed,然后删除该行?

c++ - 使用 Autotools 构建 CUDA 和 C++

Tensorflow 警告 - 权限不足 : 'cupti64_101.dll' ; dlerror: cupti64_101. dll

linux - 将运行logstash 的脚本的conf 文件放在哪里?