如何在Ubuntu 16.04上安装CUDA?
对于TensorFlow,我想安装CUDA。 我如何在Ubuntu 16.04上做到这一点?
为Ubuntu安装CUDA
有一个Linux安装指南 。 但是,它基本上只是那些步骤:
- 下载CUDA :我使用了15.04版本和“runfile(local)”。 那是1.1 GB。
- 检查md5总和:
md5sum cuda_7.5.18_linux.run
。 只有在正确的情况下才能继续。 - 删除任何其他安装(
sudo apt-get purge nvidia-cuda*
– 如果你也想安装驱动程序,那么sudo apt-get purge nvidia-*
。)- 如果要安装显示驱动程序(*) ,请从GUI注销。 转到终端会话( ctrl + alt + F2 )
- 停止lightdm:
sudo service lightdm stop
- 在
/etc/modprobe.d/blacklist-nouveau.conf
创建一个文件,其中包含以下内容:blacklist nouveau options nouveau modeset=0
- 然后执行:
sudo update-initramfs -u
-
sudo sh cuda_7.5.18_linux.run --override
。 确保您为符号链接说y
。- 再次启动lightdm:
sudo service lightdm start
- 再次启动lightdm:
- 按照命令行提示操作
另请参阅: 笔记本电脑上带有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安装
救命! 新的驱动程序不起作用!
不要惊慌。 即使您在计算机上看不到任何内容,以下步骤也会让您回到之前的状态:
- 启动时按下class次
- 进入root shell
- 通过
mount -o remount,rw /
使它可写mount -o remount,rw /
(-
是?
和/
是-
在美国布局中) -
sh cuda_7.5.18_linux.run --uninstall
-
sudo apt-get install nvidia-361 nvidia-common nvidia-prime nvidia-settings
图形驱动程序
安装图形驱动程序有点棘手。 这必须在没有图形支持的情况下完成。
- 从当前的X会话中注销。
- Ctrl + Alt + F4 (您可以使用Ctrl + Alt + F7切换回来)
- 你应该删除所有其他驱动程序。
- 通过
dpkg -l | grep -i nvidia
搜索它们dpkg -l | grep -i nvidia
- 通过
sudo apt-get remove --purge nvidia-WHATEVER
删除它们
- 通过
- 通过
sudo service lightdm stop
- 你可能需要
reboot
你的pc / blacklist nouveau驱动程序( 德语教程 )
我尝试通过.run文件多次安装,但是一些错误总是悄悄进入,我遇到了登录循环或完全丢失了显示。 因此,我建议使用.deb文件,而不是摆弄显示管理器。
NVIDIA CUDA Linux安装指南是一个很好的链接,列出了完整的详细信息。请确保按照给出的每个步骤进行操作。
要安装Nvidia驱动程序,您可以执行以下操作:
-
在Ubuntu左上角的“搜索您的计算机”菜单中搜索“其他驱动程序”(您可能还会进行系统设置 – >软件和更新 – >其他驱动程序)
-
在出现的菜单中选择一个Nvidia驱动程序,然后单击“应用更改”。(此步骤使用Internet。如果它仍然失败,那么您的代理服务器可能阻止下载)
-
重新启动系统。
-
打开终端窗口并键入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。 最后,这些是诀窍的步骤。 我按照本教程并更新了更正后的步骤,如下所示。
-
更新系统
apt-get update && apt-get upgrade
-
下载VirtualGL并安装它。 安装
dpkg -i virtualgl*.deb
-
下载并安装CUDA 8.0并进行安装。 我建议通过互联网做到这一点。 像这样,
-
安装所需的依赖项。
apt-get install linux-headers-$(uname -r) apt-get install freeglut3-dev libxmu-dev libpcap-dev
-
更新.bashrc中的系统PATH,可以在主目录中找到。 请注意,如果您将这些东西安装到差异位置,请根据该更新路径。
export PATH=$PATH:/opt/VirtualGL/bin export PATH=$PATH:/usr/local/cuda/bin
-
安装bumblebee-nvidia和primus。
apt-get install bumblebee-nvidia primus
-
编辑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
-
运行以下命令并记录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)
-
编辑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"
-
重新启动系统,享受运行一些示例代码的乐趣。
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 /
对我有用的步骤:
-
sudo apt-get install nvidia-cuda-toolkit OR 1’。 这里的安装说明
-
你需要从软件和更新/附加驱动程序中选择nvidia驱动程序(375,在我的上下文中)
-
重新启动时按照蓝屏进行操作,仅在此处通过输入在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
- 启动[软件和更新]。 选择[其他驱动程序]选项卡。
-
在列表中,找到您的图形卡。 在可用于卡的驱动程序中,选择NVIDIA的专有驱动程序。 然后按[应用更改]按钮。 就我而言,根据显卡名称“NVIDIA Corporation:GM107M [Geforce GTX 950M]”,有两种选择:
- 使用NVIDIA二进制驱动程序 – 来自nvidia-375的375.66版(专有,已测试)
- 使用X.Org X服务器 – 来自xserver-xorg-video-nouveau的Nouveau显示驱动程序(开源)
-
使用
$ sudo apt remove xserver-xorg-video*
删除默认安装的video驱动程序。 - 重启。
- 从这里下载CUDA 8.0 Toolkit。 在安装程序类型中,选择“runfile(local)”。 这将下载
cuda_8.0.61_375.26_linux.run
。 - 使用
$ sudo sh cuda_8.0.61_375.26_linux.run
运行安装程序。- [可选]如果当前安装的NVIDIA驱动程序版本高于下载的安装程序中包含的驱动程序版本,则可以选择在安装CUDA时不安装驱动程序。 在我的情况下,因为我已经有驱动程序版本
375.66
,它高于安装程序中包含的375.26
,我选择不安装。
- [可选]如果当前安装的NVIDIA驱动程序版本高于下载的安装程序中包含的驱动程序版本,则可以选择在安装CUDA时不安装驱动程序。 在我的情况下,因为我已经有驱动程序版本
- 安装后,配置二进制路径和库路径(您可以按照instller的指示)。 如果选择配置
ld.so.conf
并发生以下错误:libEGL.so.1 is not a symbolic link
,请按照此链接中的指示进行操作。
我最初尝试做那个sudo lightdm stop
东西,但它导致登录循环。 所以我发现了一种新方法:
-
将文件
cuda_9.0.176_384.81_linux.run
(在我的情况下是runfile)/home/
到/home/
任何目录,如下载或文档或任何位置。 -
之后重新启动计算机,当出现Ubuntu启动菜单时,转到“高级选项→恢复模式”(如果在启动时没有按下shift键)
-
选择“drop to root shell”,按ENTER键继续按Enter或Ctrl-D。
编辑 :运行
mount -o rw,remount /
以获取读写权限。 -
进入已复制cuda安装文件的目录。
-
根据文件类型运行命令,可以在选择所需目标后在https://developer.nvidia.com/cuda-downloads中找到,如前所述。 在我的情况下,它是
sudo sh cuda_*.run
-
当长信息/协议结束接受时,这是重要的一步,并且要缓慢而谨慎地进行 。
-
然后它将询问NVIDIA DRIVER INSTALLATION按是 ( y )。
-
然后它可能会询问OpenGL库的安装 , 跳过它,因为它可能会覆盖正常的驱动程序安装并导致问题 ,在我的情况下确实如此。 所以按no ( n )。
-
然后继续进行所有安装,它将自动完成,最后在
/tmp
显示日志文件 。 -
现在,通过在恢复模式shell中输入reboot命令重新引导系统 。
-
系统启动后,它可能不会显示CUDA示例文件,因为您需要完成以下两个必需的安装后步骤:
[A]为cuda添加正确的路径。
[B]为LD_LIBRARY_PATH添加正确的路径
添加〜/ .bashrc文件的路径并运行
source ~/.bashrc
以使路径永久化,以便在重新启动后不会消失,通过关闭当前终端并在另一个终端再次在步骤12中运行第二个命令来确认。请参阅转至7.安装后操作
-
检查CUDA是否安装正确或者不运行下面提到的两个命令并检查
nvcc -V
给出输出cat /proc/driver/nvidia/version nvcc -V
-
转至
~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
,然后运行以下命令:make ./deviceQuery
并将输出与此Image匹配,您可能会有所不同,但输出格式应该匹配。
-
恭喜您成功安装了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
并重新启动
- 使用某种加密方式在Ubuntu 16.04上运行Dropbox的解决方案?
- 重启Ubuntu 16.04后无WiFi或启用WiFi选项
- 屏幕在Ubuntu 16.04 LTS上闪烁
- WiFi和蓝牙共存:Qualcomm Atheros ar9462:Ubuntu 16.04
- 在哪里可以下载适用于Ubuntu OS的32位版Google Chrome?
- ubuntu 16.04 alt + tab无法正常工作
- 如何在Ubuntu 16.04上获得AMD Radeon HD 5450驱动程序
- 是否可以通过USB从Xubuntu 14.04 LTS升级到Xubuntu 16.04 LTS?
- 如何在Ubuntu 17.04中修复手掌检测