NVIDIA/TensorRT

Được TopGit lập chỉ mục từ metadata GitHub: NVIDIA/TensorRT có 13.2k sao, viết chủ yếu bằng C++. NVIDIA® TensorRT™ is an SDK for high-performance deep learning inference on NVIDIA GPUs. This repository contains the open source components of TensorRT.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Snapshot
Cộng tác viên hàng đầu
Xem cộng tác viên hàng đầu
:mega::mega: Announcement :mega::mega:
TensorRT 11.X is now released with powerful new capabilities designed to accelerate your AI inference workflows. With this major version bump, TensorRT's API has been streamlined and a few legacy features from 10.X have been removed.
Below provides migration guides for the following features:
- Weakly-typed networks and related APIs have been removed, replaced by Strongly Typed Networks.
- Implicit quantization and related APIs have been removed, replaced by Explicit Quantization
- IPluginV2 and related APIs have been removed, replaced by IPluginV3
- TREX tool has been removed, replaced by Nsight Deep Learning Designer
- Python bindings for Python 3.9 and older versions have been removed. RPM packages for RHEL/Rocky Linux 8 and RHEL/Rocky Linux 9 now depend on Python 3.12.
TensorRT Open Source Software
This repository contains the Open Source Software (OSS) components of NVIDIA TensorRT. It includes the sources for TensorRT plugins and ONNX parser, as well as sample applications demonstrating usage and capabilities of the TensorRT platform. These open source software components are a subset of the TensorRT General Availability (GA) release with some extensions and bug-fixes.
- For step-by-step walkthroughs of the TensorRT import paths (ONNX, Torch-TensorRT, HuggingFace/Optimum, Network Definition API) with examples and tooling tips, see the Import Workflows Guide.
- For the per-model support matrix across import paths (LLM, encoder-NLP, vision, audio, diffusion, multimodal), see Supported Models.
- For code contributions to TensorRT-OSS, please see our Contribution Guide and Coding Guidelines.
- For a summary of new additions and updates shipped with TensorRT-OSS releases, please refer to the Changelog.
- For business inquiries, please contact [email protected]
- For press and other inquiries, please contact Hector Marinez at [email protected]
Need enterprise support? NVIDIA global support is available for TensorRT with the NVIDIA AI Enterprise software suite. Check out NVIDIA LaunchPad for free access to a set of hands-on labs with TensorRT hosted on NVIDIA infrastructure.
Join the TensorRT and Triton community and stay current on the latest product updates, bug fixes, content, best practices, and more.
Agentic Coding Skills
Various skills related to TensorRT usage and benchmarking are available here. For installation, refer to the instructions of your preferred coding agent.
Prebuilt TensorRT Python Package
We provide the TensorRT Python package for an easy installation.
To install:
pip install tensorrt
You can skip the Build section to enjoy TensorRT with Python.
Build
Prerequisites
To build the TensorRT-OSS components, you will first need the following software packages.
TensorRT GA build
- TensorRT v11.2.1.2
- Available from direct download links listed below
System Packages
- CUDA
- Recommended versions:
- cuda-13.3.0
- cuda-12.9.0
- CUDNN (optional)
- cuDNN 8.9
- GNU make >= v4.1
- cmake >= v3.31
- python >= v3.10, <= v3.14.x
- pip >= v19.0
- Essential utilities
- git, pkg-config, wget
Optional Packages
-
NCCL >= v2.19, < v3.0 — only when building with multi-device support (
-DTRT_BUILD_ENABLE_MULTIDEVICE=ON) for thesampleDistCollectivesample. -
Containerized build
- Docker >= 19.03
- NVIDIA Container Toolkit
-
PyPI packages (for demo applications/tests)
- onnx
- onnxruntime
- tensorflow-gpu >= 2.5.1
- Pillow >= 9.0.1
- pycuda < 2021.1
- numpy
- pytest
-
Code formatting tools (for contributors)
- Clang-format
- Git-clang-format
NOTE: onnx-tensorrt, cub, and protobuf packages are downloaded along with TensorRT OSS, and not required to be installed.
Downloading TensorRT Build
-
Download TensorRT OSS
git clone -b main https://github.com/nvidia/TensorRT TensorRT cd TensorRT git submodule update --init --recursive -
(Optional - if not using TensorRT container) Specify the TensorRT GA release build path
If using the TensorRT OSS build container, TensorRT libraries are preinstalled under
/usr/lib/x86_64-linux-gnuand you may skip this step.Else download and extract the TensorRT GA build from NVIDIA Developer Zone with the direct links below:
- TensorRT 11.2.1.2 for CUDA 13.3, Linux x86_64
- TensorRT 11.2.1.2 for CUDA 12.9, Linux x86_64
- TensorRT 11.2.1.2 for CUDA 13.3, Windows x86_64
- TensorRT 11.2.1.2 for CUDA 12.9, Windows x86_64
Example: Ubuntu 22.04 on x86-64 with cuda-13.3
cd ~/Downloads tar --zstd -xvf TensorRT-Enterprise-11.2.1.2-Linux-x86_64-cuda-13.3-Release-external.tar.zst export TRT_LIBPATH=`pwd`/TensorRT-11.2.1.2/libExample: Windows on x86-64 with cuda-12.9
Expand-Archive -Path TensorRT-Enterprise-11.2.1.2-Windows-amd64-cuda-12.9-Release-external.zip $env:TRT_LIBPATH="$pwd\TensorRT-11.2.1.2\lib"
Setting Up The Build Environment
For Linux platforms, we recommend that you generate a docker container for building TensorRT OSS as described below. For native builds, please install the prerequisite System Packages.
-
Generate the TensorRT-OSS build container.
Example: Ubuntu 24.04 on x86-64 with cuda-13.3 (default)
./docker/build.sh --file docker/ubuntu-24.04.Dockerfile --tag tensorrt-ubuntu24.04-cuda13.3Example: Rockylinux8 on x86-64 with cuda-13.3
./docker/build.sh --file docker/rockylinux8.Dockerfile --tag tensorrt-rockylinux8-cuda13.3Example: Ubuntu 24.04 cross-compile for Jetson (aarch64) with cuda-13.3 (JetPack SDK)
./docker/build.sh --file docker/ubuntu-cross-aarch64.Dockerfile --tag tensorrt-jetpack-cuda13.3Example: Ubuntu 24.04 on aarch64 with cuda-13.3
./docker/build.sh --file docker/ubuntu-24.04-aarch64.Dockerfile --tag tensorrt-aarch64-ubuntu24.04-cuda13.3 -
Launch the TensorRT-OSS build container.
Example: Ubuntu 24.04 build container
./docker/launch.sh --tag tensorrt-ubuntu24.04-cuda13.3 --gpus allNOTE:
1. Use the--tagcorresponding to build container generated in Step 1.
2. NVIDIA Container Toolkit is required for GPU access (running TensorRT applications) inside the build container.
3.sudopassword for Ubuntu build containers is 'nvidia'.
4. Specify port number using--jupyter <port>for launching Jupyter notebooks.
5. Write permission to this folder is required as this folder will be mounted inside the docker container for uid:gid of 1000:1000.
Building TensorRT-OSS
-
Generate Makefiles and build
Example: Linux (x86-64) build with default cuda-13.3
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out make -j$(nproc)Example: Linux (aarch64) build with default cuda-13.3
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64-native.toolchain make -j$(nproc)Example: Native build on Jetson Thor (aarch64) with cuda-13.3
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out -DTRT_PLATFORM_ID=aarch64 CC=/usr/bin/gcc make -j$(nproc)NOTE: C compiler must be explicitly specified via CC= for native aarch64 builds of protobuf.
Example: Ubuntu 24.04 Cross-Compile for Jetson Thor (aarch64) with cuda-13.3 (JetPack)
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64_cross.toolchain make -j$(nproc)Example: Ubuntu 24.04 Cross-Compile for DriveOS (aarch64) with cuda-13.3
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64_dos_cross.toolchain make -j$(nproc)Example: Native builds on Windows (x86) with cuda-13.3
cd $TRT_OSSPATH New-Item -ItemType Directory -Path build cd build cmake .. -DTRT_LIB_DIR="$env:TRT_LIBPATH" -DTRT_OUT_DIR="$pwd\\out" msbuild TensorRT.sln /property:Configuration=Release -m:$env:NUMBER_OF_PROCESSORSNOTE: The default CUDA version used by CMake is 13.3. To override this, for example to 12.9, append
-DCUDA_VERSION=12.9to the cmake command. -
Required CMake build arguments are:
TRT_LIB_DIR: Path to the TensorRT installation directory containing libraries.TRT_OUT_DIR: Output directory where generated build artifacts will be copied.
-
Optional CMake build arguments:
CMAKE_BUILD_TYPE: Specify if binaries generated are for release or debug (contain debug symbols). Values consists of [Release] |DebugCUDA_VERSION: The version of CUDA to target, for example [12.9.9].CUDNN_VERSION: The version of cuDNN to target, for example [8.9].PROTOBUF_VERSION: The version of Protobuf to use, for example [3.20.1]. 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.CMAKE_TOOLCHAIN_FILE: The path to a toolchain file for cross compilation.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.BUILD_PLUGINS: Specify if the plugins should be built, for example [ON] |OFF. If turned OFF, CMake will try to find a precompiled version of the plugin library 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.BUILD_SAMPLES: Specify if the samples should be built, for example [ON] |OFF.BUILD_SAFE_SAMPLES: Specify if safety samples should be built, for example [ON] |OFF.TRT_SAFETY_INFERENCE_ONLY: Specify if only build the safety inference components, for example [ON] |OFF. If turned ON, all other components will be turned OFF exceptBUILD_SAFE_SAMPLES.TRT_PLATFORM_ID: Bare-metal build (unlike containerized cross-compilation). Currently supported options:x86_64(default).TRT_BUILD_ENABLE_MULTIDEVICE: Enable the multi-device sample (sampleDistCollective). Use-DTRT_BUILD_ENABLE_MULTIDEVICE=ONto build it; requires NCCL >= v2.19, < v3.0.TRT_BUILD_TESTING: Build gTests for samples. Requires gtest if available; otherwise fetches googletest at configure time.
Building TensorRT DriveOS Samples
-
Generate Makefiles and build
Example: Cross-Compile for DOS7 Linux (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DBUILD_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF -DTRT_OUT_DIR=`pwd`/bin_dynamic_cross -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64_dos_cross.toolchain make -j$(nproc)Example: Cross-Compile for DOS6.5 Linux (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DBUILD_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF -DTRT_OUT_DIR=`pwd`/bin_dynamic_cross -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64_dos_cross.toolchain -DCUDA_VERSION=11.4 -DCMAKE_CUDA_ARCHITECTURES=87 make -j$(nproc)Example: Native build for DOS6.5 and DOS7 Linux (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build cmake .. -DTRT_LIB_DIR=$TRT_LIBPATH -DTRT_OUT_DIR=`pwd`/out -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_aarch64-native.toolchain -DBUILD_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF make -j$(nproc)Example: Cross-Compile for DOS6.5 QNX (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build export CUDA_VERSION=11.4 export CUDA=cuda-$CUDA_VERSION export CUDA_ROOT=/usr/local/cuda-safe-$CUDA_VERSION export QNX_BASE=/drive/toolchains/qnx_toolchain # Set to your QNX toolchain installation path export QNX_HOST=$QNX_BASE/host/linux/x86_64/ export QNX_TARGET=$QNX_BASE/target/qnx7/ export PATH=$PATH:$QNX_HOST/usr/bin cmake .. -DBUILD_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF -DBUILD_SAFE_SAMPLES=OFF -DCMAKE_CUDA_COMPILER=$CUDA_ROOT/bin/nvcc -DTRT_OUT_DIR=`pwd`/bin_dynamic_cross -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_qnx.toolchain -DCUDA_VERSION=$CUDA_VERSION -DCMAKE_CUDA_ARCHITECTURES=87 make -j$(nproc)NOTE: Set
QNX_BASEto your QNX toolchain installation path. If your CUDA version is not the same as in the example, setCUDA_VERSION(for examples that use it in multiple places) or add-DCUDA_VERSION=<version>to the cmake command.Example: Cross-Compile for DOS6.5 QNX Safety (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build export CUDA_VERSION=11.4 export QNX_BASE=/drive/toolchains/qnx_toolchain # Set to your QNX toolchain installation path export QNX_HOST=$QNX_BASE/host/linux/x86_64/ export QNX_TARGET=$QNX_BASE/target/qnx7/ export PATH=$PATH:$QNX_HOST/usr/bin export CUDA=cuda-$CUDA_VERSION export CUDA_ROOT=/usr/local/cuda-safe-$CUDA_VERSION cmake .. -DBUILD_SAMPLES=OFF -DBUILD_SAFE_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF -DTRT_SAFETY_INFERENCE_ONLY=ON -DTRT_OUT_DIR=`pwd`/bin_dynamic_cross -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_qnx_safe.toolchain -DCUDA_VERSION=$CUDA_VERSION -DCMAKE_CUDA_COMPILER=$CUDA_ROOT/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=87 make -j$(nproc)NOTE: Set
QNX_BASEto your QNX toolchain installation path. If your CUDA version is not the same as in the example, setCUDA_VERSION(for examples that use it in multiple places) or add-DCUDA_VERSION=<version>to the cmake command.Example: Cross-Compile for DOS7 QNX (aarch64)
cd $TRT_OSSPATH mkdir -p build && cd build export CUDA_VERSION=13.3 export CUDA=cuda-$CUDA_VERSION export CUDA_ROOT=/usr/local/cuda-safe-$CUDA_VERSION export QNX_BASE=/drive/toolchains/qnx_toolchain # Set to your QNX toolchain installation path export QNX_HOST=$QNX_BASE/host/linux/x86_64/ export QNX_TARGET=$QNX_BASE/target/qnx/ export PATH=$PATH:$QNX_HOST/usr/bin cmake .. -DBUILD_SAMPLES=ON -DBUILD_PLUGINS=OFF -DBUILD_PARSERS=OFF -DBUILD_SAFE_SAMPLES=OFF -DCMAKE_CUDA_COMPILER=$CUDA_ROOT/bin/nvcc -DTRT_OUT_DIR=`pwd`/bin_dynamic_cross -DTRT_LIB_DIR=$TRT_LIBPATH -DCMAKE_TOOLCHAIN_FILE=$TRT_OSSPATH/cmake/toolchains/cmake_qnx.toolchain -DCUDA_VERSION=$CUDA_VERSION -DCMAKE_CUDA_ARCHITECTURES=110 make -j$(nproc)NOTE: Set
QNX_BASEto your QNX toolchain installation path. If your CUDA version is not the same as in the example, setCUDA_VERSION(for examples that use it in multiple places) or add-DCUDA_VERSION=<version>to the cmake command.
References
TensorRT Resources
- TensorRT Developer Home
- TensorRT QuickStart Guide
- TensorRT Developer Guide
- TensorRT Sample Support Guide
- TensorRT ONNX Tools
- TensorRT Discussion Forums
- TensorRT Release Notes
Known Issues
- Please refer to TensorRT Release Notes
Repo liên quan
TensorFlow is Google's open-source, end-to-end platform for machine learning, hosted at tensorflow/tensorflow under the Apache-2.0 license. It was originally built within Google Brain's Machine Intelligence team for ML and neural network research, and today it ships stable Python and C++ APIs alongside GPU, CPU-only, and Docker install paths. The README positions it as covering both research work and shipping ML-powered applications.
Hugging Face Transformers (huggingface/transformers) is a Python library that centralizes model definitions for text, computer vision, audio, video, and multimodal machine learning, covering both inference and training. The README describes it as a pivot point compatible with training frameworks such as Axolotl, DeepSpeed, and PyTorch-Lightning, and inference engines such as vLLM, SGLang, and TGI, with more than 1M+ model checkpoints listed on the Hugging Face Hub.
LLMs-from-scratch is Sebastian Raschka's GitHub companion to the Manning book Build a Large Language Model (From Scratch), ISBN 9781633437166. It walks through building, pretraining, and finetuning a GPT-style model in PyTorch across seven chapters and five appendices, plus a growing set of bonus notebooks covering newer open architectures.
PyTorch is an open-source Python package hosted at pytorch/pytorch on GitHub, built around two core capabilities: NumPy-like Tensor computation with GPU acceleration, and deep neural networks built through a tape-based autograd system. Its components include torch.nn for network layers, torch.jit for compiling models into TorchScript, and torch.multiprocessing for sharing Tensors across processes, with build support for CUDA, AMD ROCm, and Intel GPU backends documented in the README.
Trả lời nhanh
Đọc thêm về NVIDIA/TensorRT ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/NVIDIA/TensorRT là nguồn chính thức.
NVIDIA/TensorRT có những chủ đề gì?
GitHub topics của NVIDIA/TensorRT: "deep-learning", "gpu-acceleration", "inference", "nvidia", "tensorrt". TopGit xếp repo vào nhóm AI Tools.
NVIDIA/TensorRT có phải mã nguồn mở không?
Có — NVIDIA/TensorRT phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/NVIDIA/TensorRT.
NVIDIA/TensorRT có trang demo không?
Dự án có trang chủ ở https://developer.nvidia.com/tensorrt. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
NVIDIA/TensorRT còn đang phát triển không?
Commit gần nhất trên NVIDIA/TensorRT là 1 tháng trước (theo timestamp GitHub). Repo có 2.4k fork — một chỉ báo về mức độ quan tâm của cộng đồng.
NVIDIA/TensorRT dùng license gì?
NVIDIA/TensorRT phát hành theo license Apache-2.0. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc TensorRT có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về TensorRT.