其他分享
首页 > 其他分享> > Nvidia TensorRT开源软件

Nvidia TensorRT开源软件

作者:互联网

TensorRT开源软件             

此存储库包含NVIDIA TensorRT的开源软件(OSS)组件。其中包括TensorRT插件和解析器(Caffe和ONNX)的源代码,以及演示TensorRT平台使用和功能的示例应用程序。这些开源软件组件是TensorRT General Availability(GA)发行版的一个子集,其中包含一些扩展和错误修复。             

对于TensorRT OSS的代码贡献,请参阅我们的贡献指南和编码指南。             

有关TensorRT OSS发行版附带的新添加和更新的摘要,请参阅变更日志。

Build

Prerequistites

要构建TensorRT OSS组件,首先需要以下软件包。

参考链接:https://github.com/NVIDIA/TensorRT

TensorRT GA build

System Packages

Optional Packages

NOTE: onnx-tensorrt, cub, and protobuf packages are downloaded along with TensorRT OSS, and not required to be installed.

Downloading TensorRT Build

1.   Download TensorRT OSS

On Linux: Bash

git clone -b master https://github.com/nvidia/TensorRT TensorRT
cd TensorRT
git submodule update --init --recursive
export TRT_SOURCE=`pwd`

On Windows: Powershell

git clone -b master https://github.com/nvidia/TensorRT TensorRT
cd TensorRT
git submodule update --init --recursive
$Env:TRT_SOURCE = $(Get-Location)

2.   Download TensorRT GA

To build TensorRT OSS, obtain the corresponding TensorRT GA build from NVIDIA Developer Zone.

Example: Ubuntu 18.04 on x86-64 with cuda-11.1

Download and extract the latest TensorRT 7.2.1 GA package for Ubuntu 18.04 and CUDA 11.1

cd ~/Downloads
tar -xvzf TensorRT-7.2.1.6.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
export TRT_RELEASE=`pwd`/TensorRT-7.2.1.6

Example: Ubuntu 18.04 on PowerPC with cuda-11.0

Download and extract the latest TensorRT 7.2.1 GA package for Ubuntu 18.04 and CUDA 11.0

cd ~/Downloads
tar -xvzf TensorRT-7.2.1.6.Ubuntu-18.04.powerpc64le-gnu.cuda-11.0.cudnn8.0.tar.gz
export TRT_RELEASE=`pwd`/TensorRT-7.2.1.6

Example: CentOS/RedHat 7 on x86-64 with cuda-11.0

Download and extract the TensorRT 7.2.1 GA for CentOS/RedHat 7 and CUDA 11.0 tar package

cd ~/Downloads
tar -xvzf TensorRT-7.2.1.6.CentOS-7.6.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz
export TRT_RELEASE=`pwd`/TensorRT-7.2.1.6

Example: Ubuntu18.04 Cross-Compile for QNX with cuda-10.2

Download and extract the TensorRT 7.2.1 GA for QNX and CUDA 10.2 tar package

cd ~/Downloads
tar -xvzf TensorRT-7.2.1.6.Ubuntu-18.04.aarch64-qnx.cuda-10.2.cudnn7.6.tar.gz
export TRT_RELEASE=`pwd`/TensorRT-7.2.1.6
export QNX_HOST=/<path-to-qnx-toolchain>/host/linux/x86_64
export QNX_TARGET=/<path-to-qnx-toolchain>/target/qnx7

Example: Windows on x86-64 with cuda-11.0

Download and extract the TensorRT 7.2.1 GA for Windows and CUDA 11.0 zip package and add msbuild to PATH

cd ~\Downloads
Expand-Archive .\TensorRT-7.2.1.6.Windows10.x86_64.cuda-11.0.cudnn8.0.zip
$Env:TRT_RELEASE = '$(Get-Location)\TensorRT-7.2.1.6'
$Env:PATH += 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\'

3.   (Optional) JetPack SDK for Jetson builds

Using the JetPack SDK manager, download the host components. Steps:

                   i.         Download and launch the SDK manager. Login with your developer account.

                  ii.         Select the platform and target OS (example: Jetson AGX Xavier, Linux Jetpack 4.4), and click Continue.

                  iii.         Under Download & Install Options change the download folder and select Download now, Install later. Agree to the license terms and click Continue.

                  iv.         Move the extracted files into the $TRT_SOURCE/docker/jetpack_files folder.

Setting Up The Build Environment

For native builds, install the prerequisite System Packages. Alternatively (recommended for non-Windows builds), install Docker and generate a build container as described below:

1.    Generate the TensorRT-OSS build container.

The TensorRT-OSS build container can be generated using the Dockerfiles and build script included with TensorRT-OSS. The build container is bundled with packages and environment required for building TensorRT OSS.

Example: Ubuntu 18.04 on x86-64 with cuda-11.1

./docker/build.sh --file docker/ubuntu.Dockerfile --tag tensorrt-ubuntu --os 18.04 --cuda 11.1

Example: Ubuntu 18.04 on PowerPC with cuda-11.0

./docker/build.sh --file docker/ubuntu-cross-ppc64le.Dockerfile --tag tensorrt-ubuntu-ppc --os 18.04 --cuda 11.0

Example: CentOS/RedHat 7 on x86-64 with cuda-11.0

./docker/build.sh --file docker/centos.Dockerfile --tag tensorrt-centos --os 7 --cuda 11.0

Example: Ubuntu 18.04 Cross-Compile for Jetson (arm64) with cuda-10.2 (JetPack)

./docker/build.sh --file docker/ubuntu-cross-aarch64.Dockerfile --tag tensorrt-cross-jetpack --os 18.04 --cuda 10.2

2.   Launch the TensorRT-OSS build container.

Example: Ubuntu 18.04 build container

./docker/launch.sh --tag tensorrt-ubuntu --gpus all --release $TRT_RELEASE --source $TRT_SOURCE

NOTE:

  1.                          i.         Use the tag corresponding to the build container you generated in
  2.                         ii.         To run TensorRT/CUDA programs in the build container, install NVIDIA Container Toolkit. Docker versions < 19.03 require nvidia-docker2 and --runtime=nvidia flag for docker run commands. On versions >= 19.03, you need the nvidia-container-toolkit package and --gpus all flag.

Building TensorRT-OSS

Example: Linux (x86-64) build with default cuda-11.1

 cd $TRT_SOURCE
 mkdir -p build && cd build
 cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out
 make -j$(nproc)

Example: Native build on Jetson (arm64) with cuda-10.2

cd $TRT_SOURCE
mkdir -p build && cd build
cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out -DTRT_PLATFORM_ID=aarch64 -DCUDA_VERSION=10.2
make -j$(nproc)

Example: Ubuntu 18.04 Cross-Compile for Jetson (arm64) with cuda-10.2 (JetPack)

 cd $TRT_SOURCE
 mkdir -p build && cd build
 cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_SOURCE/cmake/toolchains/cmake_aarch64.toolchain -DCUDA_VERSION=10.2
 make -j$(nproc)

Example: Cross-Compile for QNX with cuda-10.2

 cd $TRT_SOURCE
 mkdir -p build && cd build
 cmake .. -DTRT_LIB_DIR=$TRT_RELEASE/lib -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_SOURCE/cmake/toolchains/cmake_qnx.toolchain -DCUDA_VERSION=10.2
 make -j$(nproc)

Example: Windows (x86-64) build in Powershell

 cd $Env:TRT_SOURCE
 mkdir -p build ; cd build
 cmake .. -DTRT_LIB_DIR=$Env:TRT_RELEASE\lib -DTRT_OUT_DIR='$(Get-Location)\out' -DCMAKE_TOOLCHAIN_FILE=..\cmake\toolchains\cmake_x64_win.toolchain
 msbuild ALL_BUILD.vcxproj

NOTE:

(Optional) Install TensorRT python bindings

Example: install TensorRT wheel for python 3.6

pip3 install $TRT_RELEASE/python/tensorrt-7.2.1.6-cp36-none-linux_x86_64.whl

References

TensorRT Resources

Known Issues

TensorRT 7.2.1

 

标签:--,TensorRT,7.2,开源,build,Nvidia,TRT,cuda
来源: https://www.cnblogs.com/wujianming-110117/p/14071754.html