TensorRT OSS 8.0 release · NVIDIA/TensorRT@aff45dd · GitHub
Skip to content

Commit aff45dd

Browse files
committed
TensorRT OSS 8.0 release
Signed-off-by: Rajeev Rao <rajeevrao@nvidia.com>
1 parent d04182c commit aff45dd

556 files changed

Lines changed: 34661 additions & 23935 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 47 additions & 2 deletions

‎CMakeLists.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ endif()
8080
############################################################################################
8181
# Dependencies
8282

83-
set(DEFAULT_CUDA_VERSION 11.1)
84-
set(DEFAULT_CUDNN_VERSION 8.0)
83+
set(DEFAULT_CUDA_VERSION 11.3.1)
84+
set(DEFAULT_CUDNN_VERSION 8.2)
8585
set(DEFAULT_PROTOBUF_VERSION 3.0.0)
8686
set(DEFAULT_CUB_VERSION 1.8.0)
8787

‎README.md‎

Lines changed: 44 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ This repository contains the Open Source Software (OSS) components of NVIDIA Ten
1515
To build the TensorRT-OSS components, you will first need the following software packages.
1616

1717
**TensorRT GA build**
18-
* [TensorRT](https://developer.nvidia.com/nvidia-tensorrt-download) v7.2.3.4
18+
* [TensorRT](https://developer.nvidia.com/nvidia-tensorrt-download) v8.0.1.6
1919

2020
**System Packages**
2121
* [CUDA](https://developer.nvidia.com/cuda-toolkit)
2222
* Recommended versions:
23-
* cuda-11.x + cuDNN-8.1
24-
* cuda-10.2 + cuDNN-8.1
23+
* cuda-11.3.1 + cuDNN-8.2
24+
* cuda-10.2 + cuDNN-8.2
2525
* [GNU make](https://ftp.gnu.org/gnu/make/) >= v4.1
2626
* [cmake](https://github.com/Kitware/CMake/releases) >= v3.13
27-
* [python](<https://www.python.org/downloads/>) >= v3.6.5
27+
* [python](<https://www.python.org/downloads/>) >= v3.6.9
2828
* [pip](https://pypi.org/project/pip/#history) >= v19.0
2929
* Essential utilities
3030
* [git](https://git-scm.com/downloads), [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/), [wget](https://www.gnu.org/software/wget/faq.html#download), [zlib](https://zlib.net/)
@@ -34,16 +34,16 @@ To build the TensorRT-OSS components, you will first need the following software
3434
* [Docker](https://docs.docker.com/install/) >= 19.03
3535
* [NVIDIA Container Toolkit](https://github.com/NVIDIA/nvidia-docker)
3636
* Toolchains and SDKs
37-
* (Cross compilation for Jetson platform) [NVIDIA JetPack](https://developer.nvidia.com/embedded/jetpack) >= 4.4
37+
* (Cross compilation for Jetson platform) [NVIDIA JetPack](https://developer.nvidia.com/embedded/jetpack) >= 4.6 (July 2021)
3838
* (For Windows builds) [Visual Studio](https://visualstudio.microsoft.com/vs/older-downloads/) 2017 Community or Enterprise edition
3939
* (Cross compilation for QNX platform) [QNX Toolchain](https://blackberry.qnx.com/en)
4040
* PyPI packages (for demo applications/tests)
41-
* [onnx](https://pypi.org/project/onnx/1.7.0/) 1.7.0
42-
* [onnxruntime](https://pypi.org/project/onnxruntime/1.6.0/) >= 1.6.0
43-
* [tensorflow-gpu](https://pypi.org/project/tensorflow/2.2.2/) >= 2.2.2
44-
* [Pillow](https://pypi.org/project/Pillow/8.1.2/) >= 8.1.2
45-
* [pycuda](https://pypi.org/project/pycuda/)
46-
* [numpy](https://pypi.org/project/numpy/)
41+
* [onnx](https://pypi.org/project/onnx/) 1.8.0
42+
* [onnxruntime](https://pypi.org/project/onnxruntime/) 1.7.0
43+
* [tensorflow-gpu](https://pypi.org/project/tensorflow/) >= 2.4.1
44+
* [Pillow](https://pypi.org/project/Pillow/) >= 8.1.2
45+
* [pycuda](https://pypi.org/project/pycuda/) < 2020.1
46+
* [numpy](https://pypi.org/project/numpy/) 1.21.0
4747
* [pytest](https://pypi.org/project/pytest/)
4848
* Code formatting tools (for contributors)
4949
* [Clang-format](https://clang.llvm.org/docs/ClangFormat.html)
@@ -54,89 +54,78 @@ To build the TensorRT-OSS components, you will first need the following software
5454
## Downloading TensorRT Build
5555

5656
1. #### Download TensorRT OSS
57-
**On Linux: Bash**
5857
```bash
5958
git clone -b master https://github.com/nvidia/TensorRT TensorRT
6059
cd TensorRT
6160
git submodule update --init --recursive
6261
```
63-
**On Windows: Powershell**
64-
```powershell
65-
git clone -b master https://github.com/nvidia/TensorRT TensorRT
66-
cd TensorRT
67-
git submodule update --init --recursive
68-
```
6962

70-
2. #### Specify the TensorRT Release build
63+
2. #### (Optional - if not using TensorRT container) Specify the TensorRT GA release build
7164

72-
If using NVIDIA build containers, TensorRT is preinstalled under `/usr/lib/x86_64-linux-gnu`.
65+
If using the TensorRT OSS build container, TensorRT libraries are preinstalled under `/usr/lib/x86_64-linux-gnu` and you may skip this step.
7366

74-
Else download and extract the TensorRT build from [NVIDIA Developer Zone](https://developer.nvidia.com/nvidia-tensorrt-download).
67+
Else download and extract the TensorRT GA build from [NVIDIA Developer Zone](https://developer.nvidia.com/nvidia-tensorrt-download).
7568

76-
**Example: Ubuntu 18.04 on x86-64 with cuda-11.1**
69+
**Example: Ubuntu 18.04 on x86-64 with cuda-11.3**
7770

7871
```bash
7972
cd ~/Downloads
80-
tar -xvzf TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.1.tar.gz
81-
export TRT_LIBPATH=`pwd`/TensorRT-7.2.3.4
73+
tar -xvzf TensorRT-8.0.1.6.Ubuntu-18.04.x86_64-gnu.cuda-11.3.cudnn8.2.tar.gz
74+
export TRT_LIBPATH=`pwd`/TensorRT-8.0.1.6
8275
```
8376

84-
**Example: Windows on x86-64 with cuda-11.0**
77+
**Example: Windows on x86-64 with cuda-11.3**
8578

8679
```powershell
8780
cd ~\Downloads
88-
Expand-Archive .\TensorRT-7.2.3.4.Windows10.x86_64.cuda-11.0.cudnn8.1.zip
89-
$Env:TRT_LIBPATH = '$(Get-Location)\TensorRT-7.2.3.4'
81+
Expand-Archive .\TensorRT-8.0.1.6.Windows10.x86_64.cuda-11.3.cudnn8.2.zip
82+
$Env:TRT_LIBPATH = '$(Get-Location)\TensorRT-8.0.1.6'
9083
$Env:PATH += 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\'
9184
```
9285

9386

94-
3. #### (Optional) JetPack SDK for Jetson builds
95-
Using the JetPack SDK manager, download the host components. Steps:
96-
1. Download and launch the SDK manager. Login with your developer account.
87+
3. #### (Optional - for Jetson builds only) Download the JetPack SDK
88+
1. Download and launch the JetPack SDK manager. Login with your NVIDIA developer account.
9789
2. Select the platform and target OS (example: Jetson AGX Xavier, `Linux Jetpack 4.4`), and click Continue.
9890
3. Under `Download & Install Options` change the download folder and select `Download now, Install later`. Agree to the license terms and click Continue.
9991
4. Move the extracted files into the `<TensorRT-OSS>/docker/jetpack_files` folder.
10092
10193
10294
## Setting Up The Build Environment
10395
104-
For native builds, install the [prerequisite](#prerequisites) *System Packages*. Alternatively (recommended for non-Windows builds), install Docker and generate a build container as described below:
96+
For Linux platforms, we recommend that you generate a docker container for building TensorRT OSS as described below. For native builds, on Windows for example, please install the [prerequisite](#prerequisites) *System Packages*.
10597
10698
1. #### Generate the TensorRT-OSS build container.
107-
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.
99+
The TensorRT-OSS build container can be generated using the supplied Dockerfiles and build script. The build container is configured for building TensorRT OSS out-of-the-box.
108100
109-
**Example: Ubuntu 18.04 on x86-64 with cuda-11.1**
110-
```bash
111-
./docker/build.sh --file docker/ubuntu-18.04.Dockerfile --tag tensorrt-ubuntu-1804 --cuda 11.1
112-
```
113-
**Example: Ubuntu 18.04 cross-compile for PowerPC with cuda-11.0**
101+
**Example: Ubuntu 18.04 on x86-64 with cuda-11.3**
114102
```bash
115-
./docker/build.sh --file docker/ubuntu-cross-ppc64le.Dockerfile --tag tensorrt-ubuntu-ppc --cuda 11.0
103+
./docker/build.sh --file docker/ubuntu-18.04.Dockerfile --tag tensorrt-ubuntu18.04-cuda11.3 --cuda 11.3.1
116104
```
117-
**Example: CentOS/RedHat 7 on x86-64 with cuda-11.0**
105+
**Example: CentOS/RedHat 8 on x86-64 with cuda-10.2**
118106
```bash
119-
./docker/build.sh --file docker/centos-7.Dockerfile --tag tensorrt-centos --cuda 11.0
107+
./docker/build.sh --file docker/centos-8.Dockerfile --tag tensorrt-centos8-cuda10.2 --cuda 10.2
120108
```
121-
**Example: Ubuntu 18.04 cross-compile for Jetson (arm64) with cuda-10.2 (JetPack SDK)**
109+
**Example: Ubuntu 18.04 cross-compile for Jetson (aarch64) with cuda-10.2 (JetPack SDK)**
122110
```bash
123-
./docker/build.sh --file docker/ubuntu-cross-aarch64.Dockerfile --tag tensorrt-cross-jetpack --cuda 10.2
111+
./docker/build.sh --file docker/ubuntu-cross-aarch64.Dockerfile --tag tensorrt-jetpack-cuda10.2 --cuda 10.2
124112
```
125113
126114
2. #### Launch the TensorRT-OSS build container.
127115
**Example: Ubuntu 18.04 build container**
128116
```bash
129-
./docker/launch.sh --tag tensorrt-ubuntu-1804 --gpus all
117+
./docker/launch.sh --tag tensorrt-ubuntu18.04-cuda11.3 --gpus all
130118
```
131119
> NOTE:
132-
1. Use the tag corresponding to the build container.
133-
2. To run TensorRT/CUDA programs in the build container, install [NVIDIA Container Toolkit](#prerequisites). 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.
134-
3. sudo password for Ubuntu containers is 'nvidia'.
120+
1. Use the `--tag` corresponding to build container generated in Step 1.
121+
2. [NVIDIA Container Toolkit](#prerequisites) is required for GPU access (running TensorRT applications) inside the build container.
122+
3. `sudo` password for Ubuntu build containers is 'nvidia'.
123+
4. Specify port number using `--jupyter <port>` for launching Jupyter notebooks.
135124
136125
## Building TensorRT-OSS
137126
* Generate Makefiles or VS project (Windows) and build.
138127
139-
**Example: Linux (x86-64) build with default cuda-11.1**
128+
**Example: Linux (x86-64) build with default cuda-11.3**
140129
```bash
141130
cd $TRT_OSSPATH
142131
mkdir -p build && cd build
@@ -157,13 +146,6 @@ For native builds, install the [prerequisite](#prerequisites) *System Packages*.
157146
cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64.toolchain -DCUDA_VERSION=10.2
158147
make -j$(nproc)
159148
```
160-
**Example: Cross-Compile for QNX with cuda-10.2**
161-
```bash
162-
cd $TRT_OSSPATH
163-
mkdir -p build && cd build
164-
cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_qnx.toolchain -DCUDA_VERSION=10.2
165-
make -j$(nproc)
166-
```
167149
**Example: Windows (x86-64) build in Powershell**
168150
```powershell
169151
cd $Env:TRT_OSSPATH
@@ -172,16 +154,15 @@ For native builds, install the [prerequisite](#prerequisites) *System Packages*.
172154
msbuild ALL_BUILD.vcxproj
173155
```
174156
> NOTE:
175-
1. The default CUDA version used by CMake is 11.1. To override this, for example to 10.2, append `-DCUDA_VERSION=10.2` to the cmake command.
176-
2. If samples fail to link on CentOS7, create this symbolic link: `ln -s $TRT_OUT_DIR/libnvinfer_plugin.so $TRT_OUT_DIR/libnvinfer_plugin.so.7`
157+
1. The default CUDA version used by CMake is 11.3.1. To override this, for example to 10.2, append `-DCUDA_VERSION=10.2` to the cmake command.
158+
2. If samples fail to link on CentOS7, create this symbolic link: `ln -s $TRT_OUT_DIR/libnvinfer_plugin.so $TRT_OUT_DIR/libnvinfer_plugin.so.8`
177159
* Required CMake build arguments are:
178160
- `TRT_LIB_DIR`: Path to the TensorRT installation directory containing libraries.
179161
- `TRT_OUT_DIR`: Output directory where generated build artifacts will be copied.
180162
* Optional CMake build arguments:
181163
- `CMAKE_BUILD_TYPE`: Specify if binaries generated are for release or debug (contain debug symbols). Values consists of [`Release`] | `Debug`
182-
- `CUDA_VERISON`: The version of CUDA to target, for example [`11.1`].
183-
- `CUDNN_VERSION`: The version of cuDNN to target, for example [`8.0`].
184-
- `NVCR_SUFFIX`: Optional nvcr/cuda image suffix. Set to "-rc" for CUDA11 RC builds until general availability. Blank by default.
164+
- `CUDA_VERISON`: The version of CUDA to target, for example [`11.3.1`].
165+
- `CUDNN_VERSION`: The version of cuDNN to target, for example [`8.2`].
185166
- `PROTOBUF_VERSION`: The version of Protobuf to use, for example [`3.0.0`]. Note: Changing this will not configure CMake to use a system version of Protobuf, it will configure CMake to download and try building that version.
186167
- `CMAKE_TOOLCHAIN_FILE`: The path to a toolchain file for cross compilation.
187168
- `BUILD_PARSERS`: Specify if the parsers should be built, for example [`ON`] | `OFF`. If turned OFF, CMake will try to find precompiled versions of the parser libraries to use in compiling samples. First in `${TRT_LIB_DIR}`, then on the system. If the build type is Debug, then it will prefer debug builds of the libraries before release versions if available.
@@ -199,13 +180,14 @@ For native builds, install the [prerequisite](#prerequisites) *System Packages*.
199180
200181
## TensorRT Resources
201182
202-
* [TensorRT Homepage](https://developer.nvidia.com/tensorrt)
183+
* [TensorRT Developer Home](https://developer.nvidia.com/tensorrt)
184+
* [TensorRT QuickStart Guide](https://docs.nvidia.com/deeplearning/tensorrt/quick-start-guide/index.html)
203185
* [TensorRT Developer Guide](https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html)
204186
* [TensorRT Sample Support Guide](https://docs.nvidia.com/deeplearning/tensorrt/sample-support-guide/index.html)
187+
* [TensorRT ONNX Tools](https://docs.nvidia.com/deeplearning/tensorrt/index.html#tools)
205188
* [TensorRT Discussion Forums](https://devtalk.nvidia.com/default/board/304/tensorrt/)
206-
* [TensorRT Release Notes](https://docs.nvidia.com/deeplearning/tensorrt/release-notes/index.html).
189+
* [TensorRT Release Notes](https://docs.nvidia.com/deeplearning/tensorrt/release-notes/index.html)
207190
208191
## Known Issues
209192
210-
#### TensorRT 7.2.3.4
211193
* None

‎VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7.2.3.4
1+
8.0.1.6

‎cmake/toolchains/cmake_aarch64.toolchain‎

Lines changed: 3 additions & 1 deletion

0 commit comments

Comments
 (0)