Backends
NVIDIA AITune supports multiple tuning backends, each with different characteristics and use cases. The backends align with a common interface for the build and inference process.
TensorRT Backend
The TensorRT backend provides highly optimized inference using NVIDIA’s TensorRT engine. It offers the best performance for production deployments. The backend integrates TensorRT Model Optimizer in a seamless flow.
CUDA Graphs Support
The TensorRT backend supports CUDA Graphs for reduced CPU overhead and improved inference performance. CUDA Graphs automatically capture and replay GPU operations, eliminating kernel launch overhead for repeated inference calls. This feature is disabled by default.
Keep in mind that graphs are automatically recaptured when input shapes change.
Torch-TensorRT Backend (JIT)
The Torch-TensorRT JIT backend integrates TensorRT tuning directly into PyTorch, providing seamless tuning without model conversion through
torch.compile.
Torch-TensorRT Backend (AOT)
The Torch-TensorRT backend integrates TensorRT tuning directly into PyTorch, providing seamless tuning without model conversion through torch_tensorrt.compile.
TorchAO Backend
The TorchAO backend leverages PyTorch’s AO (Accelerated Optimization) framework for model tuning.
Torch Inductor Backend (JIT)
The Torch Inductor JIT backend uses PyTorch’s Inductor compiler through torch.compile for model tuning.
Torch Inductor Backend (AOT)
The Torch Inductor AOT backend uses PyTorch’s AOT Inductor compiler to produce a compiled artifact that can be saved and loaded with AITune checkpoints.
ONNXRuntime Backend
The ONNXRuntime backend exports the selected module to ONNX and runs inference through ONNX Runtime with CUDA or TensorRT execution providers.