ubuntu16.04安装cuda11.3、cudnn8.2.1、tensorrt8.0.3.4全过程

安装前呢先说明几点,因为之前不熟悉linux 的安装方式,所以看了一下有很多种安装方式,其中包含源码编译、dpkg、apt等,这里的源码方式大家都懂通过Makefile或者cmake进行编译,然后进行安装,过程复杂容易出错,apt是和dpkg配合使用的,这里呢简单的介绍一下dpkg:

dpkg

linux 开发商在固定的硬件平台和操作系统平台上将需要安装的软件编译好,然后将这个软件所有的相关文件打包成一个特殊格式的文件,这个文件还包括了预先检测系统与依赖的脚本,并且提供记载该软件提供的所有文件信息。客户取得软件包后,只要通过特定的命令来安装,那么该软件就会按照内部的脚本来检测前驱软件的存在,若安装的环境符合满足需求,按么就会开始安装。安装完成后还会将该软件的信息写入软件管理机制中,以完成未来的升级,删除等操作。

下面是dpkg一些基础命令的简介:

  1. dpkg -i package-name 安装软件包
  2. dpkg -r package-name 删除软件包(保留配置信息)
  3. dpkg -P package-name 删除软件包(包括配置信息)
  4. dpkg --configure package-name 配置软件包,如果加上-a表示配置所有未配置的软件包
  5. dpkg --unpack package-name 解开软件包到系统目录,但不进行配置

下面几个命令用于对软件包进行查询

  1. dpkg -I filename 查看软件说明(直接使用dpkg -l 查询所有安装的软件包,filename可以使用正则,我通常用```dpkg -l | grep "filename"因为会存在软件名记不住的情况)
  2. dpkg -L filename 查看package-name对应的软件包安装的文件及目录
  3. dpkg -s filename 查看package-name对应的软件包信息
  4. dpkg -S filename-pattern 从已经安装的软件包中查找包含filename的软件包名称

dpkg软件包相关文件介绍
/etc/dpkg/dpkg.cfg dpkg包管理软件的配置文件
/var/log/dpkg.log dpkg包管理软件的日志文件
/var/lib/dpkg/available 存放系统所有安装过的软件包信息
/var/lib/dpkg/status 存放系统现在所有安装软件的状态信息
/var/lib/dpkg/info 记安装软件包控制目录的控制信息文件

apt-get

虽然我们在使用dpkg时,已经解决掉了 软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决,而apt这个工具解决了这样的问题,linux distribution 先将软件放置到对应的服务器中,然后分析软件的依赖关系,并且记录下来,然后当客户端有安装软件需求时,通过清单列表与本地的dpkg以存在的软件数据相比较,就能从网络端获取所有需要的具有依赖属性的软件了。

下面是apt的一些基础命令简介:

  1. apt-get update 更新源
  2. apt-ge dist-upgrade 升级系统
  3. apt-get upgrade 更新所有已经安装的软件包
  4. apt-get install package_name 安装软件包(加上 --reinstall重新安装)
  5. apt-get remove 移除软件包(保留配置信息)
  6. apt-get purge package_name 移除软件包(删除配置信息)
  7. apt show pack_name 获取包的相关信息
  8. apt search page_name 搜索包的相关信息
  9. apt-cache depends package 了解使用依赖
  10. apt-get check 检查是否有损坏的依赖

apt软件包相关文件介绍:
/etc/apt/sources.list 记录软件源的地址
/var/cache/apt/archives 已经下载到的软件包都放在这里

上面是linux的几种安装方式,那么和我们 这次安装英伟达系列有什么关系呢?其实英伟达提供了很多的安装方法,每个人采用的方法不同,导致不了解linux的人极易出错,因此先介绍一下,下面开始安装这个库

通过dpkg安装

cuda:11.3.1

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda-repo-ubuntu1604-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604-11-3-local_11.3.1-465.19.01-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1604-11-3-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

cudnn:8.2.1

ubuntu16.04安装cuda11.3、cudnn8.2.1、tensorrt8.0.3.4全过程_第1张图片

 你需要下载这四个文件,否则你无法安装成功

  1. 安装运行时库,例如:
    sudo dpkg -i libcudnn8_x.x.x-1+cudax.x_amd64.deb

    或者

    sudo dpkg -i libcudnn8_x.x.x-1+cudax.x_arm64.deb
  2. 安装开发者库,例如:
    sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudax.x_amd64.deb

    或者

    sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudax.x_arm64.deb
  3. 安装代码示例和 cuDNN 库文档,例如:
    sudo dpkg -i libcudnn8-samples_8.x.x.x-1+cudax.x_amd64.deb

    或者

    sudo dpkg -i libcudnn8-samples_8.x.x.x-1+cudax.x_arm64.deb

    4.我安装完上面的后自己测试还是没成功,需要安装 cuDNN Library for Linux (x86_64),也就是上图第一个:

    解压缩cuDNN包。

     tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz

    或者

     tar -xzvf cudnn-x.x-linux-aarch64sbsa-v8.x.x.x.tgz
    将以下文件复制到CUDA Toolkit目录中。
    sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 
    sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64 
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

tensorrt:8.0.3

  1. 从 本地 .dep包安装TensorRT。代替 ubuntuxx04, cudax.x, trt8.xxx 和 yyyymmdd 使用您的特定操作系统版本、CUDA 版本、TensorRT 版本和包日期。
    os="ubuntuxx04"
    tag="cudax.x-trt8.x.x.x-yyyymmdd"
    sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
    sudo apt-key add /var/nv-tensorrt-repo-${os}-${tag}/7fa2af80.pub
    
    sudo apt-get update
    sudo apt-get install tensorrt
    
    如果使用 Python 3.x:
    sudo apt-get install python3-libnvinfer-dev
    将安装以下附加软件包:
    python3-libnvinfer
    如果您打算将 TensorRT 与 TensorFlow 一起使用:
    sudo apt-get install uff-converter-tf

    这 graphsurgeon-tf 软件包也将使用上述命令安装。

    如果您想运行需要 ONNX 的示例 图外科医生 或者在你自己的项目中使用 Python 模块,运行:
    sudo apt-get install onnx-graphsurgeon
  2. 验证安装。
    dpkg -l | grep TensorRT
    您应该会看到类似于以下内容的内容:
    ii  graphsurgeon-tf	8.2.0-1+cuda11.4	amd64	GraphSurgeon for TensorRT package
    ii  libnvinfer-bin		8.2.0-1+cuda11.4	amd64	TensorRT binaries
    ii  libnvinfer-dev		8.2.0-1+cuda11.4	amd64	TensorRT development libraries and headers
    ii  libnvinfer-doc		8.2.0-1+cuda11.4	all	TensorRT documentation
    ii  libnvinfer-plugin-dev	8.2.0-1+cuda11.4	amd64	TensorRT plugin libraries
    ii  libnvinfer-plugin8	8.2.0-1+cuda11.4	amd64	TensorRT plugin libraries
    ii  libnvinfer-samples	8.2.0-1+cuda11.4	all	TensorRT samples
    ii  libnvinfer8		8.2.0-1+cuda11.4	amd64	TensorRT runtime libraries
    ii  libnvonnxparsers-dev		8.2.0-1+cuda11.4	amd64	TensorRT ONNX libraries
    ii  libnvonnxparsers8	8.2.0-1+cuda11.4	amd64	TensorRT ONNX libraries
    ii  libnvparsers-dev	8.2.0-1+cuda11.4	amd64	TensorRT parsers libraries
    ii  libnvparsers8	8.2.0-1+cuda11.4	amd64	TensorRT parsers libraries
    ii  python3-libnvinfer	8.2.0-1+cuda11.4	amd64	Python 3 bindings for TensorRT
    ii  python3-libnvinfer-dev	8.2.0-1+cuda11.4	amd64	Python 3 development package for TensorRT
    ii  tensorrt		8.2.0.x-1+cuda11.4 	amd64	Meta package of TensorRT
    ii  uff-converter-tf	8.2.0-1+cuda11.4	amd64	UFF converter for TensorRT package
    ii  onnx-graphsurgeon   8.2.0-1+cuda11.4  amd64 ONNX GraphSurgeon for TensorRT package

通过 dpkg安装是挺方便的,但是不推荐这种方法,因为你无法确定你安装到哪里了,后面查找也不方便,因此推荐下面的的安装。

runfile安装

cuda11.3.1 

wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run

cudnn:8.2.1

直接下载第一个即可: 需要安装 cuDNN Library for Linux (x86_64),也就是上图第一个:

 解压缩cuDNN包。

 tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz

或者

 tar -xzvf cudnn-x.x-linux-aarch64sbsa-v8.x.x.x.tgz

将以下文件复制到CUDA Toolkit目录中。

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

tensorrt:8.0.3

ubuntu16.04安装cuda11.3、cudnn8.2.1、tensorrt8.0.3.4全过程_第2张图片

 

  1. 解压 tar 文件。
    version="8.x.x.x"
    arch=$(uname -m)
    cuda="cuda-x.x"
    cudnn="cudnn8.x"
    tar xzvf TensorRT-${version}.Linux.${arch}-gnu.${cuda}.${cudnn}.tar.gz
    在哪里:
    • 8.xxx是你的TensorRT版本
    • cuda-xx 是CUDA版本 10.2 或者 11.4
    • cudnn8.x 是cuDNN版本 8.2
    该目录将有子目录,如 库, 包括, 数据, 等等…
    ls TensorRT-${version}
    bin  data  doc  graphsurgeon  include  lib  onnx_graphsurgeon  python  samples  targets  TensorRT-Release-Notes.pdf  uff
    
  2. 添加TensorRT的绝对路径库 目录到环境变量 LD_LIBRARY_PATH:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:
  3. 安装 Python TensorRT轮文件。
    cd TensorRT-${version}/python
    
    python3 -m pip install tensorrt-*-cp3x-none-linux_x86_64.whl
    
  4. 安装 Python UFF 轮文件。仅当您计划将TensorRT与TensorFlow一起使用时才需要这样做。
    cd TensorRT-${version}/uff
    
    python3 -m pip install uff-0.6.9-py2.py3-none-any.whl
    检查安装:
    which convert-to-uff
  5. 安装 Python  调用。
    cd TensorRT-${version}/graphsurgeon
    
    python3 -m pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
  6. 安装 Python onnx-graphsurgeon 轮文件。
    cd TensorRT-${version}/onnx_graphsurgeon
    	
    python3 -m pip install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl

        

Ubuntu 20.04安装CUDA 11.0、cuDNN 8.0.5、PyTorch 1.7.0

NVIDIA cuDNN v8 deb方法安装和卸载教程(Linux/Ubuntu)

Ubuntu1804 安装 cuda 、cudnn、TensorRT

你可能感兴趣的:(cuda,linux,运维)