Ubuntu 多版本Cuda(8.0,9.0)以及CuDnn安装

转载自:https://www.jianshu.com/p/6a6fbce9073f
来源:博客园
博主:EwanRenton

教研室服务器多人使用,由于大家使用不同的框架,或者框架的版本不同,需要对应不同版本的cuda,所以今天给服务器配置了多版本cuda 8.0和9.0


Cuda的下载
目前服务器上装有Cuda,本次就是在已有Cuda8.0的基础上再装Cuda9.0并配置版本切换。

CUDA Toolkit Download下载,我下载的是cuda_9.0.176_384.81_linux.run

在这里插入图片描述
推荐使用 runfile,因为使用.deb可能会将已经安装的较新的显卡驱动替换。


Cuda9.0 安装

进入到放置 cuda_9.0.176_384.81_linux.run 的目录:

sudo chmod +x cuda_9.0.176_384.81_linux.run # 为 cuda_9.0.176_384.81_linux.run 添加可执行权限
./cuda_9.0.176_384.81_linux.run # 安装 cuda_9.0.176_384.81_linux.run

截取安装过程中几个比较重要的选项:

先按q退出说明
Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n # 如果在这之前已经安装好更高版本的显卡驱动就不需要再重复安装,如果需要重复安装就选择 yes,此外还需要关闭图形界面。

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

Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]: # 一般选择默认即可,也可以选择安装在其他目录,在需要用的时候指向该目录或者使用软连接 link 到 /usr/local/cuda。

/usr/local/cuda-9.0 is not writable.
Do you wish to run the installation with 'sudo'?
(y)es/(n)o: y

Please enter your password: 
Do you want to install a symbolic link at /usr/local/cuda? # 是否将安装目录通过软连接的方式 link 到 /usr/local/cuda,yes or no 都可以,取决于你是否使用 /usr/local/cuda 为默认的 cuda 目录。
(y)es/(n)o/(q)uit: n

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

安装时可能会遇到

unsupported compiler x.x.x Use --override to override this check错误类型
可以使用以下命令解决

./cuda_9.0.176_384.81_linux.run --override

安装完成后得到以下信息:

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-9.0
Samples:  Not Selected

Please make sure that
 -   PATH includes /usr/local/cuda-9.0/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-9.0/lib64, or, add /usr/local/cuda-9.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-9.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-9.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 384.00 is required for CUDA 9.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

安装完成之后在/usr/local/ 中可以找到以下文件:

cuda-8.0 # 笔者之前安装的cuda-8.0
cuda-9.0 # 刚刚安装的cuda-9.0
cuda # cuda-8.0 的软连接

配置Cuda环境

在~/.bashrc文件末尾添加:]

#在文件结尾处添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

多个cuda版本切换

安装完cuda9.0过后在 /usr/local/下看的如下:安装完cuda9.0过后在 /usr/local/下看的如下:
在这里插入图片描述
这里,cuda-8.0和cuda-9.0就是我们安装的两个cuda版本了,而cuda是一个软链接,它指向我们指定的cuda版本(注意上面在设置环境变量时,使用的是cuda,而不是cuda-9.0和cuda-9.1,这主要是为了方便我们切换cuda版本,可以让我们不用每次都去该环境变量的值)
可以使用stat命令查看当前cuda软链接指向的哪个cuda版本,如下所示:

stat cuda

  File: 'cuda' -> '/usr/local/cuda-9.0/'
  Size: 20          Blocks: 0          IO Block: 4096   symbolic link
Device: fd00h/64768d    Inode: 162662458   Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-10-16 18:43:37.973536070 +0800
Modify: 2018-10-16 18:43:34.981552769 +0800
Change: 2018-10-16 18:43:34.981552769 +0800
 Birth: -

可以看到现在笔者的cuda是指向的cuda9.0,再用nvcc --version 命令看下我们当前使用的是哪个版本

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

使用的也是cuda 9.0

当我们想使用cuda-8.0版本时,只需要删除上面的软链接,然后重新建立指向cuda-8.0版本的软链接即可(注意名称还是cuda,因为要与bashrc文件里设置的保持一致)

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda

在看下现在使用的cuda是哪个版本

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Sun_Sep__4_22:14:01_CDT_2016
Cuda compilation tools, release 8.0, V8.0.44

切换成了8.0


修改软链接无法改变Cuda版本,解决方案

笔者在配置的时候,一步步按照之前的方法配置,但是无论怎样修改软链接都无法改变使用的cuda版本。并发现
使用

cat /usr/local/cuda/version.txt

得到版本为9.0,使用

nvcc --version

得到版本为8.0,考虑是之前的环境配置没配置好。

解决方案

修改 /etc/profile 文件

sudo vim /etc/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

再source一下就可以了

source /etc/profile

cuDNN 安装

安装完了Cuda过后不要忘了为Cuda安装cuDNN。
到cudnn download下载与Cuda相对应版本的cuDNN

在这里插入图片描述我们选择,cuDNN v7.3.1 Library for Linux
下载完后解压,得到一个文件夹 cuda/
执行以下命令:

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*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值