ubuntu16.04 cuda8.0安装配置

  确保cuda能安装成功,查阅NVIDIA CUDA Installation Guide for Linux确认安装前的环境是否符合要求


环境:
操作系统: Ubuntu 16.04
GCC/G++:5.3.0
OpenCV: 2.4.11和3.1.0
Matlab :R2014b(a)
Python: 2.7


一、更换ubuntut16.04的源

1.使用过几个源,相对较快且稳定推荐清华大学源

终端输入

cd /etc/apt/ 
sudo cp sources.list sources.list.backup  #做备份 
sudo gedit sources.list

2.替换文件:

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

3.更新源和更新已安装的包:

sudo apt-get update 
sudo apt-get upgrade

如果使用apt-get update出现
E: 无法获得锁 /var/lib/apt/lists/lock - open (11:
资源暂时不可用)

E: 无法对目录 /var/lib/apt/lists/ 加锁
这是因为包的依赖关系形成了死锁

使用以下命令解决

sudo rm /var/lib/apt/lists/lock

二、gcc 版本

  Ubuntu16.04 集成了GCC 5.4.0, cuda8(8.0.61版本)最新版支持5.4的gcc。
  但是很多软件不支持这么高版本的GCC,根据自己的需求降级进行安装
  
1.下载gcc源码

wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz

网络问题上面的命令可能不能成功下载gcc,则可以手动下载该版本的 gcc-5.3.0

2.进行解压

tar -zxvf gcc-5.3.0.tar.gz 

3.下载编译所需依赖项:

cd gcc-5.3.0                    //进入解包后的gcc文件夹
./contrib/download_prerequisites                  //下载依赖项
cd ..                          //返回上层目录

4.建立编译输出目录:

mkdir gcc-build-5.3.0 

5.进入输出目录,执行以下命令,并生成makefile文件:

cd gcc-build-5.3.0
../gcc-5.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

6.编译:

sudo make -j2  

-j2 中的2是使用的cpu核心数, 能加快编译速度,根据自己的电脑配置。

7.编译结束以后,执行安装:

sudo make install 

8.检查gcc和g++版本

gcc --version
g++ --version 

三、 nvidia 驱动安装

根据本机显卡类型在Nvidia显卡驱动下载官网查看适合自己显卡的驱动并下载
Ndownload1
Ndownload2
1、在你的用户登录界面按ctrl+alt+F1进入文本模式

2、输入你的账户名和密码

3、依次运行如下语句:

sudo apt-get purge nvidia-*  //删除现有驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375   //nvidia-后面的数字是版本号
sudo reboot //重启

4.重启后,终端输入命令查看驱动版本详细信息:

nvidia-smi    //或者
nvidia-settings 

四、cuda 8.0 安装

请先查看Nvidia驱动版本nvidia-smi,寻找适合的cuda版本安装
nvidia-smi

CUDA的安装包中包含有 nvidia 显卡驱动,所以CUDA 的安装包括了 nvidia 显卡驱动的安装

1.为了方便开始安装过程的路径查找,建议把下载的 CUDA 安装文件移动到 HOME 路径下

2.通过 Ctrl + Alt + F1 进入文本模式,输入帐号密码登录

3.在文本模式登录后首先关闭桌面服务:

sudo service lightdm stop

4.通过 Ctrl + Alt + F7 发现已无法成功返回图形化模式,说明桌面服务已成功关闭。注意:必须确保桌面服务已关闭,这对接下来的 nvidia 驱动安装非常重要

5.Ctrl + Alt + F1 进入tty模式 ,然后运行 CUDA 安装文件进行安装,之前把 CUDA 安装文件移动至 HOME,直接通过 sh 命令运行安装文件即可:

sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs

6.启动安装程序。先输入 accept同意协议

7.选择是否安装 nvidia 驱动,CUDA中集成的Nvidia驱动的版本较低,不建议安装。
建议单独安装Nvidia显卡驱动

8.确认安装或确认默认路径安装,安装完成后输入重启命令重启:

reboot

9.重启后,配置 CUDA 环境变量。使用 gedit 命令打开配置文件:

sudo gedit ~/.bashrc

10.在该文件最后加入以下两行并保存:

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH

11.使配置生效:

source ~/.bashrc

五. 验证cuda 8.0 安装测试

1.执行以下命令:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

2.如下deviceQuery启动,说明 cuda 已安装成功:
.

/deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce GTX 750"
  CUDA Driver Version / Runtime Version          9.0 / 8.0
  CUDA Capability Major/Minor version number:    5.0
  Total amount of global memory:                 977 MBytes (1024131072 bytes)
  ( 4) Multiprocessors, (128) CUDA Cores/MP:     512 CUDA Cores
  GPU Max Clock rate:                            1110 MHz (1.11 GHz)
  Memory Clock rate:                             2505 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 2097152 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 750
Result = PASS

六、安装 cudnn

CUDA 8.0 +对应 cuDNN 7.0 +,所以一定要选择适合的版本

1.登录英伟达开发者官网,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包

下载完成后解压

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz 

2.cudn 文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下

cd cuda/include/ 

3.命令行进入 cudn/lib64 路径下,运行以下命令:

sudo cp cudnn.h /usr/local/cuda/include/  #复制头文件 
cd ../lib64    #打开lib64目录 
sudo cp lib* /usr/local/cuda/lib64/    #复制库文件 
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*    #给所有用户增加这些文件的读权限

4.建立软连接,在终端输入

cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.5 
sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5 
sudo ln -s libcudnn.so.5 libcudnn.so 

5.设置环境变量,终端输入

sudo gedit /etc/profile 

在代码末尾加入

PATH=/usr/local/cuda/bin:$PATH export PATH

6.保存后,创建链接文件

  6.1 安装vim

sudo apt-get install vim-gtk

  6.2 使用vim配置环境变量

sudo vim /etc/ld.so.conf.d/cuda.conf 

  6.3 按a进入插入模式,增加下面一行

/usr/local/cuda/lib64

  6.4 按esc退出插入模式,按:wq保存退出
  6.5 对vim更多个性配置参考

https://blog.csdn.net/zht741322694/article/details/78959338

7.不过鉴于vim操作对新手不是很友好也可以使用gedit修改

sudo gedit /etc/ld.so.conf.d/cuda.conf 

8.终端输入命令是链接生效

sudo ldconfig      #使链接生效

9.c切换到CUDA 8.0 Samples默认安装路径

cd NVIDIA_CUDA-8.0_Samples/
sudo make all -j2    #根据核心改变

这里写图片描述
10.向终端输入

cd bin/x86_64/linux/release 
./deviceQuery

11.进行deviceQuery如下
finish

猜你喜欢

转载自blog.csdn.net/prototype___/article/details/79797611