Ubuntu安装和卸载CUDA和CUDNN的实现

前言

最近在学习PaddlePaddle在各个显卡驱动版本的安装和使用,所以同时也学习如何在Ubuntu安装和卸载CUDA和CUDNN,在学习过程中,顺便记录学习过程。在供大家学习的同时,也在加强自己的记忆。本文章以卸载CUDA 8.0 和 CUDNN 7.05 为例,以安装CUDA 10.0 和 CUDNN 7.4.2 为例。

安装显卡驱动

禁用nouveau驱动

sudo vim /etc/modprobe.d/blacklist.conf

在文本最后添加:

blacklist nouveau
options nouveau modeset=0

然后执行:

sudo update-initramfs -u

重启后,执行以下命令,如果没有屏幕输出,说明禁用nouveau成功:

lsmod | grep nouveau

下载驱动

官网下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn,根据自己显卡的情况下载对应版本的显卡驱动,比如笔者的显卡是RTX2070:

下载完成之后会得到一个安装包,不同版本文件名可能不一样:

NVIDIA-Linux-x86_64-410.93.run

卸载旧驱动

以下操作都需要在命令界面操作,执行以下快捷键进入命令界面,并登录:

Ctrl-Alt+F1

执行以下命令禁用X-Window服务,否则无法安装显卡驱动:

sudo service lightdm stop

执行以下三条命令卸载原有显卡驱动:

sudo apt-get remove --purge nvidia*
sudo chmod +x NVIDIA-Linux-x86_64-410.93.run
sudo ./NVIDIA-Linux-x86_64-410.93.run --uninstall

安装新驱动

直接执行驱动文件即可安装新驱动,一直默认即可:

sudo ./NVIDIA-Linux-x86_64-410.93.run

执行以下命令启动X-Window服务

sudo service lightdm start

最后执行重启命令,重启系统即可:

reboot

注意: 如果系统重启之后出现重复登录的情况,多数情况下都是安装了错误版本的显卡驱动。需要下载对应本身机器安装的显卡版本。

卸载CUDA

为什么一开始我就要卸载CUDA呢,这是因为笔者是换了显卡RTX2070,原本就安装了CUDA 8.0 和 CUDNN 7.0.5不能够正常使用,笔者需要安装CUDA 10.0 和 CUDNN 7.4.2,所以要先卸载原来的CUDA。注意以下的命令都是在root用户下操作的。

卸载CUDA很简单,一条命令就可以了,主要执行的是CUDA自带的卸载脚本,读者要根据自己的cuda版本找到卸载脚本:

sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl

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

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

这样就算卸载完了CUDA。

安装CUDA

安装的CUDA和CUDNN版本:

  • CUDA 10.0
  • CUDNN 7.4.2

接下来的安装步骤都是在root用户下操作的。

下载和安装CUDA

我们可以在官网:CUDA10下载页面
下载符合自己系统版本的CUDA。页面如下:

下载完成之后,给文件赋予执行权限:

chmod +x cuda_10.0.130_410.48_linux.run

执行安装包,开始安装:

./cuda_10.0.130_410.48_linux.run

开始安装之后,需要阅读说明,可以使用Ctrl + C直接阅读完成,或者使用空格键慢慢阅读。然后进行配置,我这里说明一下:

(是否同意条款,必须同意才能继续安装)
accept/decline/quit: accept

(这里不要安装驱动,因为已经安装最新的驱动了,否则可能会安装旧版本的显卡驱动,导致重复登录的情况)
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 10.0 Toolkit?(是否安装CUDA 10 ,这里必须要安装)
(y)es/(n)o/(q)uit: 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: y

Install the CUDA 10.0 Samples?(不用安装测试,本身就有了)
(y)es/(n)o/(q)uit: n

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...(开始安装)

安装完成之后,可以配置他们的环境变量,在vim ~/.bashrc的最后加上以下配置信息:

export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

最后使用命令source ~/.bashrc使它生效。

可以使用命令nvcc -V查看安装的版本信息:

test@test:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

测试安装是否成功

执行以下几条命令:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
make
./deviceQuery

正常情况下输出:

./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "GeForce RTX 2070"
 CUDA Driver Version / Runtime Version   10.0 / 10.0
 CUDA Capability Major/Minor version number: 7.5
 Total amount of global memory:     7950 MBytes (8335982592 bytes)
 (36) Multiprocessors, ( 64) CUDA Cores/MP:  2304 CUDA Cores
 GPU Max Clock rate:       1620 MHz (1.62 GHz)
 Memory Clock rate:        7001 Mhz
 Memory Bus Width:        256-bit
 L2 Cache Size:         4194304 bytes
 Maximum Texture Dimension Size (x,y,z)   1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
 Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
 Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
 Total amount of constant memory:    65536 bytes
 Total amount of shared memory per block:  49152 bytes
 Total number of registers available per block: 65536
 Warp size:          32
 Maximum number of threads per multiprocessor: 1024
 Maximum number of threads per block:   1024
 Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
 Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
 Maximum memory pitch:       2147483647 bytes
 Texture alignment:        512 bytes
 Concurrent copy and kernel execution:   Yes with 3 copy engine(s)
 Run time limit on kernels:      Yes
 Integrated GPU sharing Host Memory:   No
 Support host page-locked memory mapping:  Yes
 Alignment requirement for Surfaces:   Yes
 Device has ECC support:      Disabled
 Device supports Unified Addressing (UVA):  Yes
 Device supports Compute Preemption:   Yes
 Supports Cooperative Kernel Launch:   Yes
 Supports MultiDevice Co-op Kernel Launch:  Yes
 Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
 Compute Mode:
  < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 10.0, NumDevs = 1
Result = PASS

下载和安装CUDNN

进入到CUDNN的下载官网:https://developer.nvidia.com/rdp/cudnn-download,然点击Download开始选择下载版本,当然在下载之前还有登录,选择版本界面如下,我们选择cuDNN Library for Linux

下载之后是一个压缩包,如下:

cudnn-10.0-linux-x64-v7.4.2.24.tgz 

然后对它进行解压,命令如下:

tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz 

解压之后可以得到以下文件:

cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.4.2
cuda/lib64/libcudnn_static.a

使用以下两条命令复制这些文件到CUDA目录下:

cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
cp cuda/include/* /usr/local/cuda-10.0/include/

拷贝完成之后,可以使用以下命令查看CUDNN的版本信息:

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

测试安装结果

到这里就已经完成了CUDA 10 和 CUDNN 7.4.2 的安装。可以安装对应的Pytorch的GPU版本测试是否可以正常使用了。安装如下:

pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp35-cp35m-linux_x86_64.whl
pip3 install torchvision

然后使用以下的程序测试安装情况:

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torch.backends.cudnn as cudnn
from torchvision import datasets, transforms

class Net(nn.Module):
 def __init__(self):
  super(Net, self).__init__()
  self.conv1 = nn.Conv2d(1, 10, kernel_size=5)
  self.conv2 = nn.Conv2d(10, 20, kernel_size=5)
  self.conv2_drop = nn.Dropout2d()
  self.fc1 = nn.Linear(320, 50)
  self.fc2 = nn.Linear(50, 10)

 def forward(self, x):
  x = F.relu(F.max_pool2d(self.conv1(x), 2))
  x = F.relu(F.max_pool2d(self.conv2_drop(self.conv2(x)), 2))
  x = x.view(-1, 320)
  x = F.relu(self.fc1(x))
  x = F.dropout(x, training=self.training)
  x = self.fc2(x)
  return F.log_softmax(x, dim=1)

def train(model, device, train_loader, optimizer, epoch):
 model.train()
 for batch_idx, (data, target) in enumerate(train_loader):
  data, target = data.to(device), target.to(device)
  optimizer.zero_grad()
  output = model(data)
  loss = F.nll_loss(output, target)
  loss.backward()
  optimizer.step()
  if batch_idx % 10 == 0:
   print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
    epoch, batch_idx * len(data), len(train_loader.dataset),
      100. * batch_idx / len(train_loader), loss.item()))

def main():
 cudnn.benchmark = True
 torch.manual_seed(1)
 device = torch.device("cuda")
 kwargs = {'num_workers': 1, 'pin_memory': True}
 train_loader = torch.utils.data.DataLoader(
  datasets.MNIST('../data', train=True, download=True,
      transform=transforms.Compose([
       transforms.ToTensor(),
       transforms.Normalize((0.1307,), (0.3081,))
      ])),
  batch_size=64, shuffle=True, **kwargs)

 model = Net().to(device)
 optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5)

 for epoch in range(1, 11):
  train(model, device, train_loader, optimizer, epoch)

if __name__ == '__main__':
 main()

如果正常输出一下以下信息,证明已经安装成了:

Train Epoch: 1 [0/60000 (0%)] Loss: 2.365850
Train Epoch: 1 [640/60000 (1%)] Loss: 2.305295
Train Epoch: 1 [1280/60000 (2%)] Loss: 2.301407
Train Epoch: 1 [1920/60000 (3%)] Loss: 2.316538
Train Epoch: 1 [2560/60000 (4%)] Loss: 2.255809
Train Epoch: 1 [3200/60000 (5%)] Loss: 2.224511
Train Epoch: 1 [3840/60000 (6%)] Loss: 2.216569
Train Epoch: 1 [4480/60000 (7%)] Loss: 2.181396

参考资料

https://developer.nvidia.com

https://www.cnblogs.com/luofeel/p/8654964.html

到此这篇关于Ubuntu安装和卸载CUDA和CUDNN的实现的文章就介绍到这了,更多相关Ubuntu安装和卸载CUDA和CUDNN内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Ubuntu16.04安装nvidia驱动+CUDA+cuDNN的教程

    准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m && cat /etc/*release nvidia驱动 1. 先卸载原有N卡驱动 #for case1: original driver installed by apt-get: sudo apt-get remove --purge nvidia* #for case2: original driver installed by runfile: sud

  • Ubuntu16.04上安装CUDA9.0 详细教程

    前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu16.04和Ubuntu17.04两个版本,如下图所示(最下面的安装方式我们选择第一个,即runfile方式): 大家可以先将CUDA文件下载下来,但是最好不要急于安装,一定要先将NVIDIA给出官方指导手册仔细看一下,然后再找几篇好的博客看一下,大致了解一下CUDA的安装过程,对安装过程中可能出现的问题要大致有一个了解,不到万不得已不要重装系统. 安装建议: 1)去官网下载CUDA的同时,一定要找份相应官方的

  • ubuntu安装多个版本的CUDA并随时切换

    CUDA是什么就不介绍了,直接讲怎么实现CUDA多版本的共存和实时切换. 1.安装多个版本的CUDA 这里,我们以cuda9-1版本和cuda9-0版本为例(先安装哪个无所谓) 首先,在cuda版本库中选择自己需要的cuda版本. 然后,选择对应的安装包,这里选择runfile类型的安装文件,以便后面设置每个cuda的安装路径. 下载完成以后,我们利用cd命令,进入到cuda_8.0.61_375.26_linux.run文件所在的目录中,然后运行下面的指令,进行安装(注意这个文件名,前面的cu

  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    安装前准备 CUDA的主要用途是深度学习,而目前主流的深度学习框架Tensorflow2最高支持CUDA 10.1,因此本文讲解在Ubuntu 20.04系统上安装CUDA 10.1的主要过程. 首先要查看你的NVIDIA显卡驱动是否支持cuda10.1版本. 在终端执行以下命令: nvidia-smi 如果 CUDA Version: - 这里的版本号大于等于10.1(我的是10.2),就可以安装cuda10.1. 关键点:gcc降级 因为Ubuntu20.04自带的gcc版本为9.3,而cu

  • Ubuntu 安装cuda10.1驱动的实现步骤

    1. 下载cuda10.1: 英伟达官网链接:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal 2.安装10.1: [注]:cuda8.0.cuda9.0.cuda10 都集成了nvidia显卡驱动,按照安装cuda的同时是否安装显卡驱动

  • Ubuntu下安装CUDA10.0以及问题

    tensorflow版本与cuda和cudnn的对应关系: https://tensorflow.google.cn/install/source 安装一定要查看CUDA要求的linux下的Driver Version,链接网址如下: https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html 在附加驱动中有本机所用的显卡驱动. 提示Incomplete installation!这里不用管,只是没有安装CUDA驱动,之前

  • ubuntu16.04安装多个版本CUDA的方法

    我的机器是CUDA16.04的,之前装过CUDA10.0,因为一些原因,现在需要安转CUDA9.0. 1.首先https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal 下载run版本的(如果之前没装过CUDA,可以下载deb版

  • Ubuntu 20.04 CUDA&cuDNN安装方法(图文教程)

    CUDA安装下载cuda 输入nvidia-smi命令查看支持的cuda版本 如果无法查看,则说明尚未安装nvidia驱动,点击附加驱动,选择对应版本的驱动即可自动下载. 从https://developer.nvidia.com/cuda-toolkit-archive下载对应版本的cuda,选择18.04的版本即可. gcc降级 Ubuntu20.04自带的gcc版本为9.7.0,需要添加gcc7才可安装cuda10.2,输入命令安装gcc7 apt-get install gcc-7 g+

  • Ubuntu安装和卸载CUDA和CUDNN的实现

    前言 最近在学习PaddlePaddle在各个显卡驱动版本的安装和使用,所以同时也学习如何在Ubuntu安装和卸载CUDA和CUDNN,在学习过程中,顺便记录学习过程.在供大家学习的同时,也在加强自己的记忆.本文章以卸载CUDA 8.0 和 CUDNN 7.05 为例,以安装CUDA 10.0 和 CUDNN 7.4.2 为例. 安装显卡驱动 禁用nouveau驱动 sudo vim /etc/modprobe.d/blacklist.conf 在文本最后添加: blacklist nouvea

  • linux ubuntu中安装、卸载和删除python-igraph的方法教程

    前言 最近在学习python-igraph,发现其实学习一种全新的语言看官方的文档是真的很有帮助,这次我的大部分python代码的完成都是靠着igraph官方的API文档. 官方API:http://pythonhosted.org/python-igraph/igraph.Graph-class.html 本文将给大家详细介绍关于在linux ubuntu安装.卸载和删除python-igraph的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.如何在Ubunt

  • ubuntu安装显卡驱动和cuda教程

    目录 1. 卸载原始的驱动 2. 下载新显卡驱动 2.1 安装显卡驱动 3 安装cuda 查看nvcc -V cudatoolkit 4. 安装cudnn 5. 安装anaconda 添加环境变量 替换anaconda源 查看tensorflow版本 测试安装的tensorflow 写在最前面: 最新的版本不一定是好的,合适的才是最好的,建议cuda10.1+cudnn7.6.5 1. 卸载原始的驱动 #查看安装的包 apt list --installed|grep -i nvidia #卸载

  • ubuntu 安装pyqt5和卸载pyQt5的方法

    安装pyqt5 wind@wind-ThinkPad-X250:~/Downloads/PyQt5_gpl-5.12.2$ python3 -m pip install PyQt5 Collecting PyQt5 Downloading https://files.pythonhosted.org/packages/6a/f4/6a63aafcee3efd2b156dc835d9c85ca99b24e80f8af89b6da5c46054fe43/PyQt5-5.12.2-5.12.3-cp3

  • 详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系

    参考官网地址: Windows端:https://tensorflow.google.cn/install/source_windows CPU Version Python version Compiler Build tools tensorflow-1.11.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 tensorflow-1.10.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 tensorflow-1.9.0

  • Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    之前一直在用ubuntu,安装卸载软件基本上是使用apt-get 这个非常的简单,而且过程中遇到的软件依赖会自动帮我们处理,类似于傻瓜式安装.另外在 Linux 操作系统下,几乎所有的软件都可以通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件.Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装.RPM 有五种操作模式,分别为:安装.卸载.升级.查

  • ubuntu安装mysql pycharm sublime

    一.ubuntu安装mysql 首先查看是否安装过MySQL sudo netstat -tap|grep mysql 安装 sudo apt-get install mysql-server (安装过程中会提示设置密码什么的) apt-get update 更新软件包 apt-get upgrade 升级软件包 登录MySQL MySQL -u root -p -u 表示选择登陆的用户名, -p 表示登陆的用户密码 二.Ubuntu安装pycharm 下载 去官网http://www.jetb

  • python 虚拟环境安装与卸载方法及遇到问题

    Ubuntu16.04 安装 卸载 pip 实验环境 Ubuntu16.04:VMware15: 问题描述 笔者在虚拟机上安装好Ubuntu16.04, 一段时间之后重新打开准备编译python程序,在安装所需包时发现,pip pip3,指向的都是python2.7: hadoop@ubuntu:~$ pip3.5 -V pip 19.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) hadoop@ubuntu:~$

随机推荐