ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法)

每次配置环境都头疼得要死,总是会遇到各种各样的问题,这次决心一劳永逸地解决这个问题,踩最多的坑,装最稳的环境。

先介绍用于测试的电脑:操作系统是在清华镜像上下载的ubuntu16.04LTS,内核版本是4.15.0-29-generic,电脑是联想Y430P,显卡我没记错的话是GTX850M。

本篇绝大部分操作需要管理员权限,即sudo,也许不把cuda安装到/usr/lib而是自己的home目录下可以不用sudo权限,但我没有尝试,有兴趣的可以自己尝试一下。

一、更换内核

CUDA8.0最高仅支持4.4版本内核,因此第一步工作就是更换系统内核。如你的内核不高于4.4,可以跳过整个该步骤。

先介绍两个命令,一个是sudo dpkg --get-selections|grep linux-image,该命令会检查apt下载的所有linux-image开头的包,也就是内核;另外一个命令是uname -r,该命令返回结果是当前系统所用内核版本。

在我自己的电脑上,命令行敲入sudo dpkg --get-selections|grep linux-image并执行,返回了四个结果,分别为:

linux-image-4.15.0-29-generic

linux-image-4.4.0-148-generic

linux-image-generic

linux-image-generic-hwe-16.04

执行uname -r返回的结果是linux-image-4.15.0-29-generic,说明我当前使用的内核版本是第一个。

关于内核操作的详细解释,请参考附录1,为保证正文简洁,只记录如何更换内核。

首先用grep menuentry /boot/grub/grub.cfg命令查看有哪些内核,如没有需要的内核可以用apt-get下载(这个我没有尝试,因为系统自带了一个4.4)。我执行这个命令后显式如下图。

我想要将linux-image-4.15.0-29-generic修改为linux-image-4.4.0-148-generic,执行sudo vim /etc/default/grub,打开grub设置文件,将GRUB_DEFAULT=0改为GRUB_DEFAULT=‘Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-148-generic‘。随后执行sudo update-grub,如无错误提示,即意味着/boot/grub/grub.cfg修改成功,然后sudo reboot重启电脑。注意,重启电脑后,本来光标默认位置应该在Ubuntu,现在光标位置默认在Ubuntu的下一行,即Advanced options for Ubuntu,直接回车进入,下一个界面光标的默认位置应该在Ubuntu, with Linux 4.4.0-148-generic,直接回车即可。进入界面,uname -r检查显示更改内核成功。

这里我本来是希望可以直接登入Ubuntu即是更改后的内核,但尝试了很多方法,最终都必须通过Advanced options for Ubuntu修改加载内核,如果有高手搞定了,还请不吝赐教。

此外,如果你是强迫症患者,但又不知道如何处理这种情况,可以选择将Kernel 4.15直接删掉,但我个人认为这个方法不够优雅,因此不列出了。

二、禁用nouveau

简单介绍一下nouveau,简单来说它和nvidia系列有冲突,不禁用的话可能会导致黑屏或循环登陆,因此一定要禁掉。

这里提供一个不太一样的禁用方法,这种方法不需要重启电脑。

分为四部:1.首先ctrl+alt+f1切换到命令行界面,输入账号密码登录;2.然后sudo service lightdm stop关闭图形界面;3.sudo modprobe -r nouveau将nouveau彻底干掉;4.执行lsmod | grep nouveau返回空说明nouveau已经清理干净。

modeprobe是内核模块管理一个很好用的工具,这里不做具体介绍了,详情请参考鸟哥的linux私房菜19章。

三、安装CUDA

终于到了安装CUDA的步骤了,在禁用nouveau后,不要急着启用lightdm,转到cuda安装文件所在目录,用sudo命令进行安装,我的cuda安装文件名为cuda_8.0.61_375.26_linux.run,记得要禁用opengl,所以我的命令就是sudo ./cuda_8.0.61_375.26_linux.run --no-opengl-lib,禁用opengl据说是为了防止和系统原有的opengl冲突。其余默认安装即可。

四、测试CUDA是否安装成功

转到sample保存目录,像我在安装过程中用的默认保存位置,因此它们在我的~/NVIDIA_CUDA-8.0_Samples/目录下,在这个目录下,进入./1_Utilities/deviceQuery/,在这个目录下make然后执行./deviceQuery。如果出现如下画面说明CUDA安装成功。

五、其他坑

说点其他比较零碎的坑。

1.首当其冲就是安装CUDA结束时,安装程序提醒一切就绪,但是测试不通过,nvidia-smi也无法执行,但是nvcc -V显示结果无误。

这个问题的解决方法是我误打误撞试出来的,具体为什么我也不清楚,搜了很久也没找到答案。解决方法是这样的,用sudo apt-get install nvidia-375安装显卡驱动,然后重启两遍(对的,重启一遍没用,绝望之下我又重启了一遍),一切问题消失,出现了测试结果中的截图,nvidia-smi也能正确工作了。

2.用blacklist方式禁用nouveau的时候,禁用掉的是4.15核的nouveau,禁不掉4.4核的,所以我一怒之下,直接把nouveau干掉了,问题解决。

至此CUDA已经顺利安装,后续会尝试在另一台电脑上安装CUDA,并在这个帖子更新安装结果。此外还会在下一篇文章尝试不用sudo安装caffe的其他依赖。

附录1:内核操作的详细解释(由鸟哥的linux私房菜(基础篇)19章部分内容总结)

先简单介绍一下系统启动流程:1.加载BIOS的硬件信息并进行自我检查,并根据设置读取第一个可启动的设备;2.读取并执行第一个启动设备内MBR的启动引导程序(linux的启动引导程序一般为grub或grub2);3.根据启动引导程序的设置加载Kernel,Kernel会开始检测硬件并加载驱动程序;4.余下部分主要是systemd部分,暂且不提。其中启动引导程序又被称为boot loader,主要提供三个功能:1.提供选项,是多重引导的重要功能;2.加载内核文件;3.转交其他loader,是实现linux和win双系统的重要功能。

借由boot loader读取内核文件,内核开始从BIOS手中接管硬件,一般来说内核文件保存在/boot目录下,以vmlinuz开头,比如我的内核文件绝对路径为/boot/vmlinuz-4.15.0-29-generic。除kernel以外,boot loader还会读取initrd(虚拟文件系统),这里暂不表。

boot loader分为两个阶段:1.执行boot loader主程序,没有安装loader的相关配置文件;2.主程序加载配置文件,一般都在/boot/grub/(或/boot/grub2/,我的系统是/boot/grub/目录)目录下。其中最重要的就是配置文件grub.cfg。官方不建议手动修改grub.cfg文件,而是通过grub-mkconfig(grub2-mkconfig)命令产生新的grub.cfg文件。配置文件的内容简介详情见鸟哥的linux私房菜(基础篇)19章。

参考文献:

https://www.linkedin.com/pulse/installing-nvidia-cuda-80-ubuntu-1604-linux-gpu-new-victor 这篇文章介绍了很多安装CUDA中常见的坑,囿于自身水平,其中部分方法在我这里是失效的,但我不知道原因。

https://blog.csdn.net/yhaolpz/article/details/71375762 这是一篇特别详尽的介绍安装caffe的博客

鸟哥的linux私房菜

原文地址:https://www.cnblogs.com/left4back/p/10952845.html

时间: 2024-10-04 11:39:17

ubuntu16.04安装CUDA 8.0(很详尽,包括一些坑的解决方法)的相关文章

ubuntu16.04 安装opencv3.2.0

2.2 安装opencv3.2.0 2.2.1 安装opencv依赖库 在终端输入以下命令,进行安装opencv依赖库: 1. sudo apt-get install build-essential 2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev 3. sudo apt-get install python-dev python-nu

2.Ubuntu16.04安装QT5.8.0

VSCode编辑器开发CPP:http://www.cnblogs.com/dotnetcrazy/p/6661921.html 下载QT run文件(安装包),一般都是这两个下载的比较多,我这边使用第一个 贴一下清华大学的镜像地址:https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.8/5.8.0/ Ftp上传到Linux,基础部分就不说了,这篇文章的前期准备过程写的很好(http://www.cnblogs.com/dunitian/p/

ubuntu16.04安装cuda,无法定位软件包问题

为了学习深度学习,这几天在安装深度学习框架,cuda安装时却出现无法定位软件包的问题.cuda官网下载时提供了deb和run格式,今天只讲deb格式的安装包安装过程的问题. 按照官方教程,下载好cuda deb包后,分别用 sudo dpkg -i XXX.deb sudo apt update sudo apt install cuda 运行即可,一开始没太懂,安装了cuda9.1,发现版本太高,于是又重新下载cuda8.0,可是按上面步骤安装时还是给我安装的是9.0版,其实在sudo apt

Ubuntu16.04 - 安装gtk+-3.0和appindicator3-0.1

今天在Ubuntu里面遇到这样的问题: # pkg-config --cflags gtk+-3.0 appindicator3-0.1Package gtk+-3.0 was not found in the pkg-config search path.Perhaps you should add the directory containing `gtk+-3.0.pc'to the PKG_CONFIG_PATH environment variableNo package 'gtk+-

ubuntu16.04安装 maven3.5.0

1 下载地址 http://maven.apache.org/download.cgi 2 将下载到的apache-maven-3.5.0-bin.tar.gz文件上传到/temp目录下,执行如下命令. [email protected]:/temp# sudo tar zxvf apache-maven-3.5.0-bin.tar.gz [email protected]:/temp# sudo cd /opt [email protected]:/opt# mv /temp/apache-m

ubuntu16.04安装opencv3.1.0+Qt5.6.0

安装依赖的库 sudo apt-get install build-essential // 必须的,gcc编译环境 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev // 必须的,包括cmake等工具 sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg

Ubuntu16.04 安装配置 Caffe 过程 (GPU版+CUDA 9.0+cuDNN 9.0+OpenCV 3.4.1)

虽然 Caffe 的官网已经有比较详细的针对 Ubuntu 的安装教程,但是要配置可以使用 GPU 的 Caffe 需要的依赖太多,包括 CUDA,cuDNN,OpenCV 等.参考了网上的很多教程,但在自己的配置中依旧出现了各种各样的意想不到的坑,所以在此记录一下自己配置 Caffe 的过程,以供参考.因为是配置完成后以回忆的形式做的记录,所以可能会有细节上的遗漏,还请见谅. 安装 Nvidia 驱动 1. 查询 NVIDIA 显卡驱动 去官网查询自己的显卡对应的驱动 http://www.n

Ubuntu 16.04 上安装 CUDA 9.0 详细教程

https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 大家可以先将CUDA文件下载下来,但是最好不要急于安装,一定要先将NVIDIA给出官方指导手册仔细看一下,然后再找几篇好的博客看一下,大致了解一下CUDA的安装过程,对安装过程中可能出现的

ubuntu16.04 安装配置matlab ,python ,cuda8.0,cudnn,opencv3.1的caffe环境

网络上有很多ubuntu上caffe配置环境的帖子,本人照着其中的许多进行了参考,都出现了或多或少的错误,很多地方也有差异. 于是自己整理了下自己的安装过程,成功进行了测试,跑通了faster-rcnn.配置环境时间为2017.1.4 系统ubuntu16.04 一:显卡驱动的安装: 由于要使用GPU,所以先要查看自己显卡所匹配的显卡驱动,网址:http://www.nvidia.com/Download/index.aspx%3Flang=en-us 选择电脑匹配的显卡驱动,本人电脑显卡为GT