三、GPU专题篇——让你的代码飞起来(Nvidia驱动、Cuda、Cudnn的素质三连)

如果你的电脑只有CPU或者显卡配置不够高(1060以下),可以直接跳过这里,GPU加速与你无缘。
注意,我的显卡型号为GTX1080,写下此文的时间是2017.10.16,此时nvidia-367 是最新的可以apt-get的驱动。

请对比你现在的时间,查找确定最新的合适的显卡驱动。

 

3.1 Nvidia驱动

在我的测试中,不需要像网上大部分人说的那样禁用桌面显示系统,我发现这种做法对于小白风险很大。
下面是我的直接用apt-get安装的方法

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

这一步添加源,需要输入回车
然后安装

sudo apt-get update 
sudo apt-get install nvidia-367 
sudo apt-get install mesa-common-dev 
sudo apt-get install freeglut3-dev

最后输入

 

 

reboot

 

重启系统,可以Nvidia驱动生效
测试方法:
输入

 

 watch -n 1 nvidia-smi 

 

看是否可以显示显卡状态
(如果你是禁用桌面系统然后tty命令行安装驱动的话,做到这一步你一定会后悔怎么没早看到这个做法,并且大喊一声好人一生平安的)

 

3.2 Cuda

先去下载.run格式的cuda安装文件
https://developer.nvidia.com/cuda-zone
注意不要下载最近版本的,要下载8.0或者7版本的cuda
我下载的是“cuda_8.0.61_375.26_linux.run
安装:

sh cuda_8.0.61_375.26_linux.run

他会让你看很长的一段说明,我的办法是拿一张公交卡卡在回车键上,不用手指一直按着了。

 


但是,在大概97%的时候要用手了,因为看完了需要输入一些东西

Do you accept the previously read EULA?accept/decline/quit: accept


Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?(y)es/(n)o/(q)uit: n


Install the CUDA 8.0 Toolkit?(y)es/(n)o/(q)uit: y


Enter Toolkit Location[ default is /usr/local/cuda-8.0 ]:


Do you want to install a symbolic link at /usr/local/cuda?(y)es/(n)o/(q)uit: y


Install the CUDA 8.0 Samples?(y)es/(n)o/(q)uit: y

注意第二个问题是选择n,不然前面装的nvidia-367 就被覆盖掉了。
完成得很快,但是这时候路径里是不包含cuda的,你可以看一下:

 

echo $PATH

我的显示是这样:

 

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

没有cuda对吧?
所以添加路径:

 

sudo gedit ~/.bashrc

在最前面加入:

 

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

保存退出后,用source使之生效:

 

source ~/.bashrc

这时候你再看看:

 

echo $PATH
/usr/local/cuda-8.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

有cuda了,再看看LD_LIBRARY_PATH:

echo $LD_LIBRARY_PATH
/usr/local/cuda-8.0/lib64:

也是有cuda的

以下是测试方法:

由于前面我选择了Install the CUDA 8.0 Samples?(y)es/(n)o/(q)uit: y
所以在用户目录下会有个文件夹“NVIDIA_CUDA-8.0_Samples”,点进去随便选择一个example,比如就第一个“/root/NVIDIA_CUDA-8.0_Samples/0_Simple/asyncAPI”
在这里:

make
./asyncAPI

看到输出了吧?

3.3 Cudnn

地址: https://developer.nvidia.com/rdp/cudnn-archive 

Cudnn不需要安装,把路径添加到cuda中进去就行了
复制进来

sudo cp 【你的cudnn解压目录】/cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp 【你的cudnn解压目录】/cuda/lib64/libcudnn* /usr/local/cuda/lib64/

授予权限

sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

测试方法:
进到前面那个“NVIDIA_CUDA-8.0_Samples”中来,我的是:

cd /root/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery

运行结果最后看到

Result = PASS

就说明成功啦!


到此为止,GPU相关的内容全部大功告成了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值