cuda、cudnn安装(多版本)

cuda、cudnn安装(多版本)

2019年01月24日 22:33:40 hancoder 阅读数:46

作者:HAN,部分参考网络,环境ubuntu16,1080Ti
感谢G学姐的服务器~ 让我从瞎安到熟练…
#1、查现有cuda和cudnn版本的命令
cuda 版本

cat /usr/local/cuda/version.txt
  • 1

cudnn 版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  • 1

#2、显卡驱动,cuda,cudnn对应关系
nvidia与cuda需要满足关系:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuda与cudnn需要满足关系:
https://developer.nvidia.com/rdp/cudnn-archive
cuda历史版本下载连接:
https://developer.nvidia.com/cuda-toolkit-archive

#3、安装nvidia驱动

首先去官网上查看适合你的GPU的驱动
官网:https://www.nvidia.com/Download/index.aspx?lang=en-us。
例如,本人的GPU适合的驱动如图:
image.png
参考链接安装:
https://www.cnblogs.com/luofeel/p/8654964.html(最复杂,最推荐的)
https://blog.csdn.net/u014682691/article/details/80605201(第二个链接里他提供的第二种方法他给的贴图是安装cuda的贴图,所以我最推荐第一个链接)

法1:UBUNTU右上角》系统设置》软件与更新》附加驱动选择》重启。这个方法最简单,但不推荐。不推荐理由:失败概率有些高,而且容易造成循环登录的问题。

法2:(注:这种方式我也出现过循环登录的问题(实际上不知道法1法2哪个引起的),所以对此简单方法不负责~):
执行如下语句,终端输入
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390(数字改你需要的版本,比如384)
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
执行完上述后,重启:sudo reboot

法3:去nvidia官网选择自己显卡配置然后下对应的驱动。期间Crtl+Alt+F1或者lightdm stop,会黑屏,新手不要慌,这只是进入里命令行模式。具体步骤见上面最复杂的链接

显卡和CUDA需要对应:
显卡和CUDA的对应情况
输入: nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。
image.png

另外也可以通过:nvidia-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:
390

#4、安装CUDA
cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda9.0的安装文件 cuda下载地址
注意这里下载的是cuda9.0的runfile(local)文件。
image.png
那个9.0.176后面应该对应的是显卡驱动号,我下了比他高的版本390

下载完cuda9.0后,执行如下语句,运行runfile文件:

sudo sh cuda_9.0.176_384.81_linux.run
即:sudo sh 对应你的run文件
  • 1
  • 2

下面是输入命令后的显示界面与选择,简言就是第一个写n,其余全部yes默认。
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可。

#先执行下面的命令安装相关依赖,
#否则会出现`Missing recommended library`错误
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 
 
 
sudo sh cuda_8.0.61_375.26_linux.run #开始安装
 
#..一堆协议说明...
#直接按q退出协议说明.
zerozone@zerozone: accept/decline/quit: accept  #接受协议
 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? 
y)es/(n)o/(q)uit: n  #是否显卡驱动包,由于已经安装显卡驱动,选择n
 
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择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 
#添加链接。注意这个连接,如果你之前安装过另一个版本的cuda,
#除非你确定想要用这个新版本的cuda,否则这里就建议选no,
#因为指定该链接后会将cuda指向这个新的版本
 
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y #安装样例,我默认到了home下
 
Enter CUDA Samples Location
 [ default is /root ]:  #样例安装地址默认即可
 
# ***安装信息***
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
 
Missing recommended library: libXi.so
Missing recommended library: libXmu.so
#注意,这里出现了Missing recommended library错误,
#是因为博主在第一次安装时,没有添加最开始的那条安装相关依赖的指令,
#之后我添加了依赖后,再次安装,就没有Missing错误了
 
Installing the CUDA Samples in /root ...
Copying samples to /root/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
 
===========
= Summary =
===========
Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-8.0
Samples:  Installed in /root, but missing recommended libraries
 
Please make sure that
 -   PATH includes /usr/local/cuda-8.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
 
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
 
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
 
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
 
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
 
    sudo <CudaInstaller>.run -silent -driver
 
Logfile is /tmp/cuda_install_6388.log   
# ***安装完成***

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

使用:

sudo gedit  ~/.bashrc
  • 1

打开“profile”文件,在末尾处添加(注意不要有空格,不然会报错):

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
#注意这里不要写cuda几点几,因为我们要实现多版本切换
  • 1
  • 2
  • 3
  • 4

使配置生效:

source ~/.bashrc
  • 1

#5、测试cuda的Samples

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
  • 1
  • 2
  • 3

如果显示的是一些关于GPU的信息,则说明安装成功了。
安装完cuda8.0和9.0后我在这个目录下显示是这样的
image.png
同时home下有8.0和9.0的sample
image.png

#6、安装cudnn
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。
https://developer.nvidia.com/rdp/cudnn-archive
这里我观察了一下,看到cuda8.0和9.0都可以安装cudnn7.1.3,那么我就下它啦~

原来选的是7.1.4,但是不太清楚deb和Tar的区别。或者说不知道他能不能同时对8.0和9.0生效,为了生效,我决定麻烦点分布下载8.0和9.0对应的cudnn7.1.3然后分布配置一下。(有懂的大佬希望可以指教一下这里能不能直接共用一份7.1.3)而且因为切换cuda版本的时候要删除/usr/local/cuda这个软链接,所以我没有像官网那样复制.h到/usr/local/cuda,而是分布复制到了/usr/local/cuda-8.0和/usr/local/cuda-9.0

有deb和Tar包,安装哪个都可以,对应的安装方法见上图
是个压缩文件(.tgz)
image.png

大概思路是把cudnn解压缩得到的cuda(这个cuda只是一个文件名而已),把cudnn包里include和lib64里的.h文件全部复制到cuda8.0和9.0对应的的include和lib64文件里。

下载完cudnn之后进行解压,cd进入cudnn解压之后的cuda
文件目录,在命令行进行如下操作:
打开为9.0下载的cudnn

#复制头文件
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/ 
sudo cp cuda/lib64/libcudnn*  /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn* 
  • 1
  • 2
  • 3
  • 4

把刚才解压得到的cuda删了,再打开8.0下载的cudnn

sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include/  
sudo cp cuda/lib64/libcudnn*  /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn* 
  • 1
  • 2
  • 3

网上说的上面复制动态链接库其实就是上面的步骤,不用重复

#7、切换版本8.0和9.0

#切为9.0
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda
#8.0和9.0来回改就可以
  • 1
  • 2
  • 3
  • 4

检查版本:nvcc --version
图示
image.png

perfect~
不懂请留言~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值