ubuntu18.04多版本cuda安装与转换(实测有效)

Ubuntu18.04安装cuda(10.1及10.0)和cudnn

在安装Cuda前首先要根据自己的显卡来安装显卡驱动

1. 安装显卡驱动

1.1 禁用nouveau驱动

/etc/modprobe.d/blacklist.conf 里添加,如下内容,并执行 sudo update-initramfs -u 命令

blacklist nouveau
options nouveau modeset=0
重启后用 lsmod | grep nouveau, 如果没有任何输出说明禁用成功。

1.2 安装NVIDIA显卡驱动

ubuntu 18.04 直接使用sudo ubuntu-drivers autoinstall安装的是390的驱动,cuda 10 显卡必须是410以上,所以要安装新一点的驱动
安装更新版本的驱动可以先添加源:

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

接下来执行:

$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001E87sv00001043sd0000865Fbc03sc00i00
vendor : NVIDIA Corporation
driver : nvidia-driver-470-server - distro non-free recommended
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-460 - distro non-free
driver : nvidia-driver-460-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin

recommended符合我们的要求,我们直接如下指令安装:

$ sudo apt install nvidia-driver-470

2. 安装CUDA10.1

2.1 下载cuda安装包

下载地址如下:

https://developer.nvidia.com/cuda-toolkit-archive
请添加图片描述
如上有不同的版本,我们这里选择了CUDA10.1(其余版本相同操作方式)

在这里插入图片描述
这里下载:cuda_10.1.105_418.39_linux.run

2.2 安装

使用如下命令安装:

$ sudo sh cuda_10.1.105_418.39_linux.run --no-opengl-libs

接下来会出现协议说明,可以直接按q退出协议说明

安装选项,因为已经提前安装了显卡驱动,所以把显卡驱动的安装选项取消掉:

Do you accept the previously read EULA?
accept/decline/quit: accept  # 接受协议

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n  # 是否安装显卡驱动包,由于已经安装显卡驱动,选择n

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y  # 是否安装工具包,选择y

Enter Toolkit Location
 [ default is /usr/local/cuda-10.0 ]:   # 工具包安装地址,默认回车即可

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n  # 如果之前安装过另一个版本的cuda,除非你确定想要用这个新版本的cuda,否则这里就建议选n,因为指定该链接后会将cuda指向这个新的版本

Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: y  # 安装样例

Enter CUDA Samples Location
 [ default is /home/jiaoda ]:   # 样例安装地址默认即可

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Missing recommended library: libGLU.so
Missing recommended library: libXmu.so
Missing recommended library: libGL.so

Installing the CUDA Samples in /home/jiaoda ...
Copying samples to /home/jiaoda/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.

===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-10.0
Samples:  Installed in /home/jiaoda, but missing recommended libraries

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

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.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 10.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_6090.log
# ***安装完成***

2.3 配置环境

终端首先输入:

gedit ~/.bashrc
在打开的 .bashrc末尾添加环境变量
export PATH=/usr/local/cuda/binKaTeX parse error: Expected '}', got 'EOF' at end of input: {PATH:+:{PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64KaTeX parse error: Expected '}', got 'EOF' at end of input: …LIBRARY_PATH:+:{LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

注意上面的路径都是指向/usr/local/cuda 软连接,并没有写死指向某一个cuda版本,后面切换时不用改路径了,只改软连接指向就可以了。

保存关闭后,执行下面命令,使之立即生效

source ~/.bashrc


另一种vim方式设置环境变量:

vim ~/.bashrc # 修改配置文件

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

source ~/.bashrc # 让更改生效

输入如下命令,检测是否安装成功:
注意如果存在问题,可尝试重启终端

stat cuda  # stat /usr/local/cuda 
cat  /usr/local/cuda/version.txt
nvcc --version
nvcc -V 
ls -al  # 在/usr/local目录下查看

3 安装cudnn

3.1 下载cudnn

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

注册一下即可
在这里插入图片描述

这里我下载的是对应CUDA 10.1版本的 cuDNN v8.0.5

3.2 安装

下载好后直接解压,得到文件夹 cuda,然后复制lib64和include文件夹到usr/local/cuda-10.0,更改权限,安装完成(此过程可考虑,在UI界面实现直接文件的copy,见补充)。命令如下:

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

确定是否安装完成

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

在这里插入图片描述

4. CUDA10.0 及其对应cuDNN

4.1 下载CUDA安装包

下载地址如下:

https://developer.nvidia.com/cuda-toolkit-archive

整个过程与前面相似,cuda选择下图中的各个选项,然后下载。这里一共有两个包,一般只下载第一个包,第二个是patch,也就是补丁,可有可无。下载完成后放在主目录中。
在这里插入图片描述
下面执行命令进行安装:

sudo sh cuda_10.0.130_410.48_linux.run

然后下面是一堆协议说明,直接按q推出协议说明

Do you accept the previously read EULA?
accept/decline/quit: accept #接受协议

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n #是否已有显卡驱动包,已有则选择n

Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y #是否安装工具包,选择y

Enter Toolkit Location
 [ default is /usr/local/cuda-10.0 ]: #工具包安装地址,默认回车即可

Do you want to install a symbolic link at /usr/local/cuda?这里是建立软连接,若第一次安装cuda,就输入y;若之前安装过其他版本的cuda,则有两种情况,如果想启用当前安装的cuda版本就选y,如果只是安装这个版本就选n。

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n 
#**这里是建立软连接,若第一次安装cuda,就输入y;若之前安装过其他版本的cuda,则有两种情况,如果想启用当前安装的cuda版本就选y,如果只是安装这个版本就选n。**

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

Enter CUDA Samples Location
 [ default is /home/zcc ]:  #样例安装地址默认即可
Logfile is /tmp/cuda_install_16509.log #**安装完成**

4.2 下载cuDNN安装包

下面是cudnn下载的链接选项,这里选择下面那部分的第三个即“cudnn library for Linux”,下载完成后放在主目录中。
在这里插入图片描述

5. CUDA版本切换

/usr/local/目录下打开终端

sudo rm -rf cuda             #删除之前的软链接(原本指向10.1)
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda  #生成新的软链接,指向10.0

以下四行命令均可以查看当前cuda软链接指向的哪个cuda版本

stat cuda  # stat /usr/local/cuda 
cat  /usr/local/cuda/version.txt
nvcc --version
nvcc -V 
ls -al  # 在/usr/local目录下查看

cuda-10.1版本时,只需要删除上面的软链接,然后重新建立指向cuda-10.1版本的软链接即可。

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

6. 卸载CUDA

如果需要卸载cuda,重新安装的话要根据自己的cuda版本找到卸载脚本:

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

卸载之后,如有一些残留的文件夹,之前安装的是CUDA 10.0。可以一并删除:

sudo rm -rf /usr/local/cuda-10.0/

补充:ubuntu打开usr/root等文件方法:

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fighting_1997

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值