Ubuntu安装多版本cuda 多版本之间切换

Ubuntu安装多版本cuda 多版本之间切换

由于实验室有多人使用,而不同人用不同版本的TensorFlow-gpu,所以依赖的cuda版本也不一样,需要自由方便的切换。

cuda的下载

到 CUDA Toolkit Download 下载所需版本,以 cuda_9.0.176_384.81_linux.run为例:
https://developer.nvidia.com/cuda-90-download-archive
建议选择使用 .run 文件安装,因为使用 .deb可能会将已经安装的较新的显卡驱动替换。

Ubuntu安装多版本cuda 多版本之间切换_第1张图片

cuda 安装

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

./cuda_9.0.176_384.81_linux.run # 安装 cuda_9.0.176_384.81_linux.run

特别注意,如果之前已经装过驱动,Install NVIDIA Accelerated Graphics Driver选择no,其他都默认就好
如果要装驱动,需要把图形的那个程序关掉,不然会报错。

# wangyunpeng @ user-SYS-7048GR-TR in /data/wangyunpeng/download [20:24:50] C:15
$ ./cuda_9.0.176_384.81_linux.run 
Logging to /tmp/cuda_install_9515.log
Using less to view the EULA.
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: no

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

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

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

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

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

Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...

cudnn的下载与安装##

下载与cuda对应的cudnn

https://developer.nvidia.com/rdp/cudnn-download

Ubuntu安装多版本cuda 多版本之间切换_第2张图片

安装cudnn,直接命令行解压然后复制lib64和include文件夹到usr/local/cuda-9.0

# Installing from a Tar File
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*

cuda版本的自由切换

特别注意

使用如下命令切换到安装目录,其本质切换就是改cuda这个硬链接

cd /usr/local
stat cuda

还需要注意的是,要改**/etc/profile下面的路径
把类似之前写的,cuda-版本号的地址,全都新改成cuda这个硬链接
当然使用zsh要改zshrc,同样把bashrc里的也改掉
vi ~/.bashrc
vi ~/.zshrc

一般来说把LD_LIBRARY_PATH这个环境变量改好就能正常使用tensorflow了
但是为了后面方便切换cuda8和cuda9,要把下面的环境变量,一律改成那个
硬链接cuda**

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

改成–>

export PATH="$PATH:/usr/local/cuda/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64" 

切换程序

在上面那些环境变量都配置好的前提下,为了自如地切换cuda8和cuda9,写了下面的脚本
执行cuda9切换到cuda8,编辑脚本9t8

vi 9t8
chmod +x 9t8

执行cuda8切换到cuda9,编辑脚本8t9

vi 8t9
chmod +x 8t9

Ubuntu安装多版本cuda 多版本之间切换_第3张图片

你可能感兴趣的:(linux服务器)