Ubuntu16.04安装cuda9.0+cudnn7.0

Ubuntu16.04安装cuda9.0+cudnn7.0

这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudnn。但是最近课余时间还行,索性一起整理出来,方便以后查看。

检查自己的计算机是否具备CUDA安装条件

  • 检查GPU是否支持CUDA

    lspci | grep -i nvidia

    显示出NVIDIA GPU版本信息
    1092854-20190327220430476-1272293122.png

  • 去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中(https://developer.nvidia.com/cuda-gpus

    uname -m && cat /etc/*release

    1092854-20190327215438744-306588324.png

  • 验证是否安装了gcc

    gcc --version

    如果没有,那就安装之

    sudo apt install gcc
  • 验证系统是否安装kernel header和 package development

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

    1092854-20190327215449218-1983582694.png

    满足要求后,便可进行下面的正式安装过程。

    注意:CUDA提供两种安装方式:package manager安装和runfile安装。

    这里我选择runfile安装.。采用runfile安装,CUDA自带的驱动可能无法定位内核信息,所以我们先安装NVIIDA驱动。

安装NVIDIA驱动

  • 事先有装过但失败的,先卸载

    sudo apt remove --purge nvidia*
  • 禁用nouveau驱动

    lsmod | grep nouveau

    有输出,则代表nouveau正在运行, 需要我们手动禁掉nouveau。

    在Ubuntu16.04中,我们可以通过以下操作禁用nouveau:

    1).在/etc/modprobe.d中创建文件blacklist-nouveau.conf

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

    在文件中输入以下内容:

    blacklist nouveau
    options nouveau modeset=0

    2)执行

    sudo update-initramfs -u

    3)查看nouveau是否已经成功禁用

    lsmod | grep nouveau

    注意:若无内容输出,则禁用成功。若仍有内容输出,请检查上述操作,并重复。操作无误但仍有输出,则可重启,进入用户登录界面时(不要登录进桌面),按Ctrl+Alt+F1进入字符终端界面,输入用户名和密码进行登录,登录成功后,再次查看

    这时,我们应该已经成功禁用了nouveau,无输出

  • 关闭图形化界面

    sudo service lightdm stop
  • 安装驱动
    NVIDIA驱动安装也有多种方式,runfile文件形式的安装和apt安装

    我用的是apt安装:

    1).添加Graphic Drivers PPA

    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update

    2).寻找合适的驱动版本

    ubuntu-drivers devices

1092854-20190327215511607-594392957.png

  如上图,我的显卡它建议的是 nvidia-418

  3).安装nvidia driver
 sudo apt install nvidia-418

速度比较慢,应该不是ubuntu源的问题,用了墙外的服务器apt install速度也还是不快,安心等”戴“吧

  4).安装完成后,重启
 sudo reboot
  5).进入桌面,执行下面的命令,查看驱动的安装状态
 sudo nvidia-smi
 sudo nvidia-settings
![](https://img2018.cnblogs.com/blog/1092854/201903/1092854-20190327215611050-860464418.png)

安装CUDA

之后,按Ctrl+Alt+F1进入字符终端界面,登录后关闭图形化界面

sudo service lightdm stop

这边我其实用的是命令行直接下载,因为我不喜欢等下再去找文件,而且cuda那个貌似直接下载也有点毒,每次到最后就停在那里了,令人生气,所以可以的话我一般用命令行下载(下面就有一个例子)

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

找到下载文件,键入类似命令安装:

sudo sh cuda_9.0.176_384.81_linux-run

会有很长一段,直接ctl+c跳过,出现类似下面的选项,除了第二个选择“是否为NVIDIA安装驱动”,

选择否,不然之前的显卡驱动就白折腾了。

可以按给出的选择
1092854-20190327215831068-502772405.png

最后会看到cuda驱动、sample、tookit已经安装成功,但缺少一些库。

1092854-20190327215909493-1842022382.png

添加这些库
sudo apt install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
  重新启动图形化界面
sudo service lightdm start
  同时按Alt + ctrl +F7,返回到图形化登录界面。

如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了

  检查Device Node Verification
ls /dev/nvidia*

1092854-20190327215922203-824961910.png

  a、若结果显示
/dev/nvidia0    /dev/nvidiactl    /dev/nvidia-uvm
  或显示出类似的信息,应该有三个(包含一个/dev/nvidia-uvm的),则安装成功。

如果只有两个或者一个都没有,文末有记录解决方法。

  设置环境变量
sudo vim ~/.bashrc

注意:.bashrc是当前用户生效的环境变量,(比如我是lzm)如果想对全部用户生效,可以在/etc/profile文件中设置

  按i(inset)进行编辑,在打开的文件末尾,添加以下两行,然后按esc 后按:wq保存退出
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
  保存文件,让环境变量生效
source ~/.bashrc
  检查上述的环境变量是否设置成功。

  a.验证驱动版本
cat /proc/driver/nvidia/version
  b.验证CUDA Toolkit
nvcc -V
  c.最后,尝试编译cuda提供的例子,看cuda能否正常运行

  打开终端输入
 cd /home/lzm(user_name)/NVIDIA_CUDA-9.0_Samples
 make

系统就会自动进入到编译过程,整个过程大概需要十几到二十分钟,请耐心等待。如果出现错误的话,系统会立即报错停止。如果编译成功,最后会显示Finished building CUDA samples。运行编译生成的二进制文件,编译后的二进制文件默认存放在NVIDIA_CUDA-9.0_Samples/bin中。

  接着在终端中输入 :
 cd bin/x86_64/linux/release
 ./deviceQuery  
  结果如下图所示,其中 Result = PASS代表成功,CUDA安装且配置成功,若失败 Result = FAIL

1092854-20190327235626370-1979217221.png

  最后检查一下系统和CUDA-Capable device的连接情况
./bandwidthTest
  看到显示Result=PASS则成功

![](https://img2018.cnblogs.com/blog/1092854/201903/1092854-20190327220028933-368340141.png)

安装CUDNN

cuDNN的安装是建立在我们成功安装cuda的基础上的,本来我是想用终端直接下载cudnn的像上面的cuda一样,但是当我wget的时候发现报错了:(HTTP request sent, awaiting response… 404 Not Found) 才想起来cuDNN是需要登陆NVIDIA账号才能下载的。

官网下载连接

1092854-20190327220130065-553550362.png

这里我以tgz文件的安装为例

Attention:

(这边有个要注意的,因为我之前下载过的是tgz压缩包,直接按下面命令解压就行。然后今天下载是以solitairetheme8结尾的,然后刚开始我不知道linux是用什么命令解压这种文件的,所以就去查了一下,就是直接重命名这玩意然后按下面命令解压就?了)

  • 解压tgz文件
   tar -xzvf cudnn-9.0-linux-x64-v7.tgz
  • 复制文件到cuda安装路径下
   sudo cp cuda/include/cudnn.h /usr/local/cuda/include
   sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
   sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
  • 然后查看cudnn版本,出现如下图则安装成功
   cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

1092854-20190327220151652-1636747960.png

Bingo!!!好了,记录一遍也好累啊,真想再重新验证一遍看看是不是完美兼容。可是我有点懒,不想去开其他的机子了,只测试了Ubuntu16.04的可以安装,其他的版本不晓得,不过基本思想是一样的

可能出现的问题

ls /dev/nvidia*

可能出现

ls: cannot access/dev/nvidia*: No such file or directory

或者只出现

/dev/nvidia0    /dev/nvidiactl

选项中的一个或两个,但没有/dev/nvidia-uvm,即文件显示不全。

解决方法:
首先要添加一个启动脚本,如果是第一次打开这个文件,它应该是空的(除了一行又一行的#注释项外)。这文件的第一行是

#!/bin/sh -e
把-e去掉(这步很重要,否则它不会加载这文本的内容),然后把下列内容复制到exit 0之前并保存退出。
/sbin/modprobe nvidia

if [ "$?" -eq 0]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done

mknod -m 666 /dev/nvidiactl c 195 255

else
exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

再次查看

ls /dev/nvidia*

结果显示:

1092854-20190327220245083-804365271.png

其中三个包括 /dev/nvidia-uvm即可。

转载于:https://www.cnblogs.com/luzeming/p/10611263.html

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu 16.04安装CUDA 9.0,必须按照以下步骤进行操作: 1. 首先,从NVIDIA官方网站上下载CUDA 9.0安装包(通常是一个.run文件)。确保下载的文件和操作系统的位数匹配(32位或64位)。 2. 在终端中导航到下载的安装包所在的目录,并确保安装包有执行权限。若无执行权限,可以使用以下命令添加执行权限: ```bash chmod +x 文件名.run ``` 3. 关闭所有正在运行的图形用户界面。可以通过使用以下命令进行: ```bash sudo service lightdm stop ``` 4. 执行安装脚本以启动安装程序: ```bash sudo ./文件名.run ``` 5. 按照安装程序的提示进行操作。在“Installation Option”选项卡中,选择安装CUDA Toolkit并确保选择与操作系统和硬件兼容的驱动程序版本。 6. 在安装期间,可能会提示你安装NVIDIA驱动程序。如果系统尚未安装适当的驱动程序,则可以选择是以便一同安装驱动程序。 7. 安装完成后,打开终端并将CUDA库和二进制文件的路径添加到环境变量中。可以使用以下命令创建一个新的文件并编辑它: ```bash sudo nano /etc/environment ``` 8. 将以下两行添加到文件的末尾(根据安装路径更改): ``` PATH="/usr/local/cuda-9.0/bin:$PATH" LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH" ``` 9. 保存并退出文本编辑器,并重新启动系统。 10. 系统重启后,可以通过运行以下命令来验证安装是否成功: ```bash nvcc --version ``` 如果安装成功,将会显示CUDA的版本号。 希望以上步骤可以帮助你在Ubuntu 16.04上成功安装CUDA 9.0。 ### 回答2: 首先,您需要确保您的计算机满足CUDA 9.0的系统要求。您需要一张支持CUDA的NVIDIA显卡和安装Ubuntu 16.04操作系统。 以下是在Ubuntu 16.04安装CUDA 9.0的步骤: 1. 首先,下载CUDA 9.0安装包。可以从NVIDIA的官方网站上下载对应版本的CUDA安装包。 2. 下载完成后,打开终端并切换到CUDA安装包所在的目录。例如,使用以下命令切换到Downloads目录: ``` cd ~/Downloads ``` 3. 接下来,运行以下命令解压CUDA安装包: ``` tar -xvzf cuda_9.0.176_384.81_linux.run ``` 4. 解压完成后,切换到解压后的目录: ``` cd cuda-linux* ``` 5. 运行安装脚本。您可以使用以下命令进行安装: ``` sudo ./cuda-linux*.run ``` 在安装过程中,您需要接受相关许可协议和选择要安装的组件。根据您的需要进行选择并按照提示操作。 6. 安装完成后,您需要配置环境变量。可以使用以下命令打开.bashrc文件: ``` nano ~/.bashrc ``` 在文件末尾添加以下两行代码: ``` export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` 保存并关闭文件。 7. 最后,刷新环境变量并确认CUDA安装成功。使用以下命令刷新环境变量: ``` source ~/.bashrc ``` 然后,运行以下命令验证CUDA是否安装成功: ``` nvcc --version ``` 如果安装成功,您将看到CUDA的版本号。 这就是在Ubuntu 16.04安装CUDA 9.0的步骤。请按照以上步骤进行操作,并确保您满足系统要求。希望对您有所帮助! ### 回答3: 要在Ubuntu 16.04安装CUDA 9.0,您需要按照以下步骤进行操作: 1. 下载CUDA 9.0安装包:在NVIDIA的官方网站上下载适合您操作系统CUDA 9.0安装包。 2. 关闭图形界面:在开始安装CUDA之前,您需要先关闭图形界面。按下Ctrl + Alt + F1切换到命令行界面。 3. 卸载旧版本的NVIDIA驱动程序(如果有):如果您之前已经安装了NVIDIA驱动程序,可以通过运行以下命令来卸载它: ``` sudo apt-get remove --purge nvidia* ``` 4. 安装CUDA 9.0:在命令行界面中,导航到您下载的CUDA 9.0安装包所在的目录,并运行以下命令来进行安装: ``` chmod +x cuda_9.0_*.run sudo ./cuda_9.0_*.run ``` 5. 配置环境变量:安装完成后,需要将CUDA的路径添加到系统环境变量中。编辑`~/.bashrc`文件,并在文件末尾添加以下行: ``` export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` 6. 更新环境变量:保存文件后,运行以下命令以更新环境变量: ``` source ~/.bashrc ``` 至此,您已成功在Ubuntu 16.04安装CUDA 9.0。您可以通过运行以下命令来验证安装是否成功: ``` nvcc --version ``` 希望这些步骤能帮助您顺利完成CUDA 9.0安装

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值