如何在Ubuntu 16.04上安装CUDA?

对于TensorFlow,我想安装CUDA。 我如何在Ubuntu 16.04上做到这一点?

为Ubuntu安装CUDA

有一个Linux安装指南 。 但是,它基本上只是那些步骤:

  1. 下载CUDA :我使用了15.04版本和“runfile(local)”。 那是1.1 GB。
  2. 检查md5总和: md5sum cuda_7.5.18_linux.run 。 只有在正确的情况下才能继续。
  3. 删除任何其他安装( sudo apt-get purge nvidia-cuda* – 如果你也想安装驱动程序,那么sudo apt-get purge nvidia-* 。)
    1. 如果要安装显示驱动程序(*) ,请从GUI注销。 转到终端会话( ctrl + alt + F2
    2. 停止lightdm: sudo service lightdm stop
    3. /etc/modprobe.d/blacklist-nouveau.conf创建一个文件,其中包含以下内容: blacklist nouveau options nouveau modeset=0
    4. 然后执行: sudo update-initramfs -u
  4. sudo sh cuda_7.5.18_linux.run --override 。 确保您为符号链接说y
    1. 再次启动lightdm: sudo service lightdm start
  5. 按照命令行提示操作

另请参阅: 笔记本电脑上带有Ubuntu 16.04 beta的NVIDIA CUDA(如果你迫不及待)

注意 :是的,有可能通过apt-get install cuda安装它。 我强烈建议不要使用它,因为它会改变路径并使其他工具的安装更加困难。

您可能还对如何在Ubuntu 16.04上安装CuDNN感兴趣? 。

*:不要使用此脚本安装显示驱动程序。 他们老了。 从http://www.nvidia.com/Download/index.aspx下载最新的

validationCUDA安装

以下命令显示当前的CUDA版本(最后一行):

 $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Sun_Sep__4_22:14:01_CDT_2016 Cuda compilation tools, release 8.0, V8.0.44 

以下命令显示您的驱动程序版本以及您拥有的GPU内存量:

 $ nvidia-smi Fri Jan 20 12:19:04 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 367.57 Driver Version: 367.57 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce 940MX Off | 0000:02:00.0 Off | N/A | | N/A 75C P0 N/A / N/A | 1981MiB / 2002MiB | 98% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1156 G /usr/lib/xorg/Xorg 246MiB | | 0 3198 G ...m,SecurityWarningIconUpdate 

另请参阅: validationCuDNN安装

救命! 新的驱动程序不起作用!

不要惊慌。 即使您在计算机上看不到任何内容,以下步骤也会让您回到之前的状态:

  1. 启动时按下class次
  2. 进入root shell
  3. 通过mount -o remount,rw /使它可写mount -o remount,rw /-?/-在美国布局中)
  4. sh cuda_7.5.18_linux.run --uninstall
  5. sudo apt-get install nvidia-361 nvidia-common nvidia-prime nvidia-settings

图形驱动程序

安装图形驱动程序有点棘手。 这必须在没有图形支持的情况下完成。

  1. 从当前的X会话中注销。
  2. Ctrl + Alt + F4 (您可以使用Ctrl + Alt + F7切换回来)
  3. 你应该删除所有其他驱动程序。
    1. 通过dpkg -l | grep -i nvidia搜索它们 dpkg -l | grep -i nvidia
    2. 通过sudo apt-get remove --purge nvidia-WHATEVER删除它们
  4. 通过sudo service lightdm stop
  5. 你可能需要reboot你的pc / blacklist nouveau驱动程序( 德语教程 )

我尝试通过.run文件多次安装,但是一些错误总是悄悄进入,我遇到了登录循环或完全丢失了显示。 因此,我建议使用.deb文件,而不是摆弄显示管理器。

NVIDIA CUDA Linux安装指南是一个很好的链接,列出了完整的详细信息。请确保按照给出的每个步骤进行操作。

要安装Nvidia驱动程序,您可以执行以下操作:

  1. 在Ubuntu左上角的“搜索您的计算机”菜单中搜索“其他驱动程序”(您可能还会进行系统设置 – >软件和更新 – >其他驱动程序)

  2. 在出现的菜单中选择一个Nvidia驱动程序,然后单击“应用更改”。(此步骤使用Internet。如果它仍然失败,那么您的代理服务器可能阻止下载)

  3. 重新启动系统。

  4. 打开终端窗口并键入nvidia-smi。 如果您的驱动程序已正确安装,您应该看到类似的内容:

  + ------------------------------------------------- ----- +                       
 |  NVIDIA-SMI 3.295.41驱动程序版本:295.41 |                       
 | ------------------------------- + ----------------- ----- + ---------------------- +
 | 铌。 名称|  Bus Id Disp。  | 易失性ECC SB / DB |
 |  Fan Temp Power Usage / Cap | 内存使用情况|  GPU Util。 计算M. |
 | =============================== + ================= ===== + ====================== |
 | 特斯拉C2050 |  0000:05:00.0开|  0 0 |
 |  30%62 C P0 N / A / N / A |  3%70MB / 2687MB |  44%默认值|
 | ------------------------------- + ----------------- ----- + ---------------------- |
 | 计算过程:GPU内存|
 |  GPU PID进程名称用法|
 | ================================================= ============================ |
 |  0. 7336 ./align 61MB |
 + ------------------------------------------------- ---------------------------- + 

您现在可以根据之前的链接轻松安装CUDA。 简单来说:

 sudo apt-get install linux-headers-$(uname -r) 

从此处下载工具包,然后安装.deb文件(相应地替换名称)

 sudo dpkg -i cuda-repo-__.deb 

然后运行:

 sudo apt-get update sudo apt-get install cuda 

我也尝试了差异方法,以便在Ubuntu 16.04中安装Cuda 8.0。 最后,这些是诀窍的步骤。 我按照本教程并更新了更正后的步骤,如下所示。

  1. 更新系统

     apt-get update && apt-get upgrade 
  2. 下载VirtualGL并安装它。 安装

     dpkg -i virtualgl*.deb 
  3. 下载并安装CUDA 8.0并进行安装。 我建议通过互联网做到这一点。 像这样,

    在此处输入图像描述

  4. 安装所需的依赖项。

     apt-get install linux-headers-$(uname -r) apt-get install freeglut3-dev libxmu-dev libpcap-dev 
  5. 更新.bashrc中的系统PATH,可以在主目录中找到。 请注意,如果您将这些东西安装到差异位置,请根据该更新路径。

     export PATH=$PATH:/opt/VirtualGL/bin export PATH=$PATH:/usr/local/cuda/bin 
  6. 安装bumblebee-nvidia和primus。

     apt-get install bumblebee-nvidia primus 
  7. 编辑bumblebee配置文件,以便大黄蜂知道我们正在使用NVIDIA驱动程序。 请根据您的系统更新路径。 这是参考视图,将有所帮助。

     sudo nano +22 /etc/bumblebee/bumblebee.conf 

    加:

     [bumblebeed] ServerGroup=bumblebee TurnCardOffAtExit=false NoEcoModeOverride=false Driver=nvidia XorgConfDir=/etc/bumblebee/xorg.conf.d Bridge=auto PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus AllowFallbackToIGC=false Driver=nvidia [driver-nvidia] KernelDriver=nvidia PMMethod=auto LibraryPath=/usr/lib/nvidia-367:/usr/lib32/nvidia-367 XorgModulePath=/usr/lib/xorg,/usr/lib/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia Driver=nouveau [driver-nouveau] KernelDriver=nouveau PMMethod=auto XorgConfFile=/etc/bumblebee/xorg.conf.nouveau 
  8. 运行以下命令并记录video卡的PCI地址。

     $ lspci | egrep 'VGA|3D' 00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02) 01:00.0 3D controller: NVIDIA Corporation Device 179c (rev a2) 
  9. 编辑xorg.conf.nvidia文件,以便它知道您的video卡的PCI地址(对我来说是01:00.0)。 更新PIC地址,如下所示“ServerLayout”部分

     sudo nano /etc/bumblebee/xorg.conf.nvidia 

    加:

     Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "false" Option "AutoAddGPU" "false" BusID "PCI:01:00.0" 
  10. 重新启动系统,享受运行一些示例代码的乐趣。

     sudo shutdown -r now 

这是一个很好的答案,因为我在写笔记本时多次拧我的笔记本电脑。 但是,我宁愿保持它很长时间,因为它也可能对其他人有用;)我的答案的最佳部分从编辑更新开始

Sooooo,我在这里和其他地方阅读了所有的答案,我不知道为什么,但他们每个人都会引起我的问​​题:(

4天后,在这里重新安装Linux是对我有用的方式。

在进入主要程序之前,我想提一个替代方法。

如果您使用笔记本电脑的替代方法:

因此,您可以使用笔记本电脑在笔记本电脑上切换nvidia和intel gpu

 sudo prime-select intel sudo prime-select nvidia 

换句话说,您可以切换到英特尔并安装nvidia并切换回英特尔以进行正常使用,并且只要您想使用深度学习切换到nvidia one。

无论如何,

让我谈谈最终适用于我的主要方法(这里的信息主要来自Link ):

删除和清除所有现有的nvidia / cuda东西:

 sudo apt-get remove --purge nvidia-* sudo apt-get purge nvidia-cuda* sudo apt-get purge nvidia-* sudo /usr/bin/nvidia-uninstall sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl sudo rm -rf /etc/modprobe.d/blacklist-nouveau.conf 

然后,我们只是更新一切:

 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade sudo reboot 

现在,你可能无法登录而且陷入困境……

不用担心,我遇到了50多次……

ctr+alt+F2键入您的用户名和密码

现在键入这些:

 sudo service lightdm stop 

可选,有些人还需要输入这个,老实说idk有什么用呢: sudo init 3

 sudo nano /etc/modprobe.d/blacklist-nouveau.conf 

 blacklist nouveau options nouveau modeset=0 

它并保存并退出。

然后输入:

 sudo update-initramfs -u 

转到你有cuda .run文件的文件并输入:

 sudo sh cuda_8.0_linux.run --override sudo service lightdm start sudo reboot 

Sooo,如果你很幸运,你应该能够立即登录。 你可能猜到,我不是一个幸运的人,我仍然无法登录。 所以我不得不再次按ctr+Alt+F2并执行以下操作:

 sudo ubuntu-drivers autoinstall sudo reboot 

现在我终于可以登录了。

现在是时候设置路径并检查安装了。

类型:

 export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64 ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} nvidia-smi nvcc -V 

它应该告诉你,你有cuda 8。

另外,万一你也可以这样做:

 export PATH=$PATH:/usr/local/cuda-8.0/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64 gedit ~/.bashrc 

最后添加这些:

 export PATH=$PATH:/usr/local/cuda-8.0/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64 # Added by me on 2013/06/24 PATH=~/bin:$PATH export PATH 

保存并退出gedit。 类型:

 sudo ldconfig /usr/local/cuda-8.0/lib64 

对于比我更了解的人的问题:

所以一切听起来都像是在工作,但是当我关闭/重新启动我的系统几秒钟时就会显示出来

所以一切听起来都有效,但当我关闭/重新启动我的系统几秒钟它显示“无法启动加载内核模块”我试过这篇文章但它没有帮助,如果你知道如何解决它,请告诉我。

—————-

编辑,更新

猜猜看,我再次搞砸了。

但是这次我带来了更容易的解决方案。 这是重点: 有时我们需要说不

这对我来说真的很有用。 清除并删除所有内容后,sudo reboot执行此操作:

 sudo ubuntu-drivers autoinstall sudo reboot 

ctr+alt+F2键入您的用户名和密码

现在键入这些:

 sudo service lightdm stop sudo sh cuda_8.0_linux.run 

重要提示:在安装过程中,第一个问题要求再次重新安装驱动程序, 对此母亲说不要问****问题对其他人说“是”:D完成后。

 sudo service lightdm start press `alt+ctr+F7` 

登录亲爱的PC

它有用吗? 别客气 :)

我刚刚写了一篇博客文章 – Nvidia CUDA工具包安装 – ubuntu 16.04 LTS – notes /

我的环境:双启动Windows 10和Unbuntu 16.04 LTS。


复制并粘贴一些重要的学习内容。 有关详细说明,请参阅博客文章(仅为避免重复)

主要学习:

  • 在UEFI固件设置下禁用安全启动(在BIOS模式下执行此操作/从Windows高级启动重新启动)。 (我确实尝试了多年,希望我可以使用安全启动。没有运气安全启动阻止Nvidia驱动程序在Ubuntu上正确安装 。禁用安全启动原来是我唯一可行的解​​决方案 – 如果你能够安装Nvidia驱动程序而不必禁用安全启动,请告诉我)
  • 按照Linux CUDA安装指南进行操作 。
  • (自以为是……)使用Linux .deb(包管理器)安装(为简单起见)。 在浏览器中下载.deb文件。 从终端命令行安装。
  • (自以为是……)不要使用runfile安装(太复杂)。

详细说明:

请参考Nvidia CUDA工具包安装 – ubuntu 16.04 LTS – notes /

对我有用的步骤:

  1. sudo apt-get install nvidia-cuda-toolkit OR 1’。 这里的安装说明

  2. 你需要从软件和更新/附加驱动程序中选择nvidia驱动程序(375,在我的上下文中)

  3. 重新启动时按照蓝屏进行操作,仅在此处通过输入在nvidia驱动程序安装期间设置的密码来禁用安全启动。 (任何通过BIOS禁用的安全启动对我都不起作用)。

现在安装测试输出成功。

我在阅读了几篇文章后得到了它的工作:我已经在计算机上安装了一张ATI卡,结果非常有用。 我在ATI旁边安装了GTX 1070并开始安装Kubuntu 16.04。 只有连接到ATI卡的显示器最初才有图像,这使我可以安装从供应商网站下载的驱动程序NVIDIA-Linux-x86_64-367.27.run。 要安装CUDA,我下载了cuda_7.5.18_linux.run文件。 我使用两个开关安装了cuda工具包:

cuda_7.5.18_linux.run --silent --toolkit

也可以从.run文件安装cuda示例。 一个问题是cuda不喜欢gcc5。 所以我做了sudo apt-get install gcc-4.8然后通过以下方式将默认gcc更改为此版本:

 cd /usr/bin/ sudo unlink gcc sudo ln -s gcc4.8 gcc sudo unlink g++ sudo ln -s g++-4.8 g++ 

安装cuda后,我将gcc替换为gcc5。 编译cuda样本也需要用gcc4.8完成,gcc4.9可能有效,但我没试过。

通常优选的方法是在可用时通过deb文件安装SW,因为它们提供了处理依赖性的更健壮的方式和用于移除SW的更可靠的方法。 CUDA 8.0发布候选版本可以在16.04(在开发区域)中使用,现在可以通过deb文件(本地)和(网络)获得UUDntu 16.04的CUDA 8.0: https : //developer.nvidia.com/cuda -downloads

只是一个提醒,Ubuntu 16.04可能无法在假定位置/usr/local/cuda-8.0.61安装cuda。 因此export PATH=/usr/local/cuda-8.0.61/bin${PATH:+:${PATH}}可能无效。

当我试图在Ubuntu 16.04上安装“cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb”时,我只是按照这里的说明http://docs.nvidia.com/cuda/cuda -installation-guide-linux / index.html#post-installation-actions 。 但是,我无法编译cuda-install-samples-8.0.61.sh \ home或nvcc -V

事实certificate,Ubuntu在/usr/local/cuda-8.0安装了cuda而不是假定的位置/usr/local/cuda-8.0.61 。 因此我将export PATH=/usr/local/cuda-8.0.61/bin${PATH:+:${PATH}}更改为export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}我成功安装了cuda。

接受的答案对我的案子不起作用。 我在我的labtop上安装了CUDA 8.0,其规格如下:

  • 显卡:GeForce GTX 950M(cc 5.0)
  • CPU:Intel Core i7-6700HQ(带Intel HD Graphics 530)

以下指南首先安装NVIDIA驱动程序,然后安装CUDA 8.0。


在全新安装的Ubuntu 16.04上安装CUDA 8.0

  1. 启动[软件和更新]。 选择[其他驱动程序]选项卡。
  2. 在列表中,找到您的图形卡。 在可用于卡的驱动程序中,选择NVIDIA的专有驱动程序。 然后按[应用更改]按钮。 就我而言,根据显卡名称“NVIDIA Corporation:GM107M [Geforce GTX 950M]”,有两种选择:

    • 使用NVIDIA二进制驱动程序 – 来自nvidia-375的375.66版(专有,已测试)
    • 使用X.Org X服务器 – 来自xserver-xorg-video-nouveau的Nouveau显示驱动程序(开源)
  3. 使用$ sudo apt remove xserver-xorg-video*删除默认安装的video驱动程序。

  4. 重启。
  5. 从这里下载CUDA 8.0 Toolkit。 在安装程序类型中,选择“runfile(local)”。 这将下载cuda_8.0.61_375.26_linux.run
  6. 使用$ sudo sh cuda_8.0.61_375.26_linux.run运行安装程序。
    • [可选]如果当前安装的NVIDIA驱动程序版本高于下载的安装程序中包含的驱动程序版本,则可以选择在安装CUDA时不安装驱动程序。 在我的情况下,因为我已经有驱动程序版本375.66 ,它高于安装程序中包含的375.26 ,我选择不安装。
  7. 安装后,配置二进制路径和库路径(您可以按照instller的指示)。 如果选择配置ld.so.conf并发生以下错误: libEGL.so.1 is not a symbolic link ,请按照此链接中的指示进行操作。

我最初尝试做那个sudo lightdm stop东西,但它导致登录循环。 所以我发现了一种新方法:

  1. 将文件cuda_9.0.176_384.81_linux.run (在我的情况下是runfile) /home//home/任何目录,如下载或文档或任何位置。

  2. 之后重新启动计算机,当出现Ubuntu启动菜单时,转到“高级选项→恢复模式”(如果在启动时没有按下shift键)

  3. 选择“drop to root shell”,按ENTER键继续按Enter或Ctrl-D。

    编辑 :运行mount -o rw,remount /以获取读写权限。

  4. 进入已复制cuda安装文件的目录。

  5. 根据文件类型运行命令,可以在选择所需目标后在https://developer.nvidia.com/cuda-downloads中找到,如前所述。 在我的情况下,它是sudo sh cuda_*.run

  6. 当长信息/协议结束接受时,这是重要的一步,并且要缓慢而谨慎地进行

  7. 然后它将询问NVIDIA DRIVER INSTALLATIONy )。

  8. 然后它可能会询问OpenGL库的安装跳过它,因为它可能会覆盖正常的驱动程序安装并导致问题 ,在我的情况下确实如此。 所以按non )。

  9. 然后继续进行所有安装,它将自动完成,最后/tmp显示日志文件

  10. 现在通过在恢复模式shell中输入reboot命令重新引导系统

  11. 系统启动后,它可能不会显示CUDA示例文件,因为您需要完成以下两个必需的安装后步骤:

    [A]为cuda添加正确的路径。

    [B]为LD_LIBRARY_PATH添加正确的路径

    添加〜/ .bashrc文件的路径并运行source ~/.bashrc以使路径永久化,以便在重新启动后不会消失,通过关闭当前终端并在另一个终端再次在步骤12中运行第二个命令来确认。

    请参阅转至7.安装后操作

  12. 检查CUDA是否安装正确或者不运行下面提到的两个命令并检查nvcc -V给出输出

     cat /proc/driver/nvidia/version nvcc -V 
  13. 转至~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery ,然后运行以下命令:

     make ./deviceQuery 

    并将输出与此Image匹配,您可能会有所不同,但输出格式应该匹配。

  14. 恭喜成功安装了CUDA Toolkit 。 之后再去这里尝试一些示例转到7.2推荐的操作 。

COURTESY – CUDA TOOLKIT DOCS

PS – 欢迎任何类型的批评,提前为任何错误道歉,这是我在askubuntu.com上的第一个答案。

非常感谢您的阅读:)

这对我有用

 sudo rm /tmp/.X*-lock sudo apt-get purge nvidia-* sudo reboot sudo service lightdm stop 

Alt + f1

 sudo rmmod nvidia sudo sh cuda_8.0.61_375.26_linux.run sudo service lightdm start 

并重新启动