linux cuda 9.0安装教程,Ubuntu 多版本Cuda(8.0,9.0)以及CuDnn安装

教研室服务器多人使用,由于大家使用不同的框架,或者框架的版本不同,需要对应不同版本的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 with the name of this run file:

sudo .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/下看的如下:

这里,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*

你可能感兴趣的:(linux,cuda,9.0安装教程)