NVIDIA TensorRT vs ONNX Runtime
NVIDIA TensorRT
developer.nvidia.comONNX Runtime
onnxruntime.aiSide by side
| Figure | NVIDIA TensorRT | ONNX Runtime |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| iOS | — | Yes |
| Android | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 2 | 1 |
| Spec score · Deep Learning Software | 7.6 (#18) | 8.4 (#6) |
| Purpose | TensorRT is an ecosystem of inference compilers, runtimes, and model optimization tools for high-performance deep learning inference. | ONNX Runtime is a cross-platform machine-learning model accelerator with interfaces for hardware-specific libraries. |
| Security guidance | NVIDIA recommends deserializing only engines built by the user or received through a trusted, authenticated channel. | The documentation warns that models from untrusted sources may consume excessive memory or compute resources and recommends inspection and safe testing. |
Plans
In their own words
NVIDIA TensorRT
NVIDIA TensorRT has no write-up on Specifiction yet; its figures are above.
ONNX Runtime
ONNX Runtime is a free engine for machine-learning inference and training within existing technology stacks. It can run models from frameworks including PyTorch, TensorFlow/Keras, TFLite, and scikit-learn. For inference, it optimizes latency, throughput, memory use, and binary size through graph transformations, accelerator-aware partitioning, and optimized computation kernels. Its Execution Providers connect ONNX models to hardware acceleration libraries for CPUs, GPUs, FPGAs, and specialized NPUs. Listed options include NVIDIA CUDA and TensorRT, Intel OpenVINO, DirectML, Qualcomm QNN, Android NNAPI, Apple CoreML, and WebGPU. Deployment spans cloud servers, edge and mobile devices, and browsers; its web runtime supports browser models and its mobile runtime supports Android and iOS. Supported languages include Python, C#, C++, Java, JavaScript, and Rust. Developers can create smaller web or mobile packages by including only the operators and opsets their models need. The open-source runtime is available on Android, iOS, Linux, macOS, self-hosted environments, web, and Windows.