Torch-TensorRT v2.7.0 #3509
narendasan
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
PyTorch 2.7, CUDA 12.8, TensorRT 10.9, Python 3.13
Torch-TensorRT 2.7.0 targets PyTorch 2.7, TensorRT 10.9, and CUDA 12.8, (builds for CUDA 11.8/12.4 are available via the PyTorch package index - https://download.pytorch.org/whl/cu118 https://download.pytorch.org/whl/cu124). Python versions from 3.9-3.13 are supported. We no longer provide builds for the pre-cxx11-abi, all wheels and tarballs will use the cxx11 ABI.
Known Issues
Using Self Defined Kernels in TensorRT Engines using Automatic Plugin Generation
Users may develop their own custom kernels using DSLs such as OpenAI Triton. Through the use of PyTorch Custom Ops and Torch-TensorRT Automatic Plugin Generation, these kernels can be called within the TensorRT engine with minimal extra code required.
torch_tensorrt.dynamo.conversion.plugins.custom_op
will generate a TensorRT plugin using the Quick Deploy Plugin system and using PyTorch's FakeTensor mode by reusing information required to register a Torch custom op to use with TorchDynamo. It will also generate the Torch-TensorRT converter to insert the plugin to the TensorRT engine.QDP Plugins for Torch Custom Ops and Converters for QDP Plugins can be generated individually using
MutableTorchTensorRTModule improvements
MutableTorchTensorRTModule
automatically recompiles if the engine becomes invalid. Previously, engines would assume static shape which means that if a user provides a different sized input, the graph would recompile or pull from engine cache. Now developers are able to provide shape hints to theMutableTorchTensorRTModule
which will allow the module to handle a broader range of inputs without recompiling. For example:Data Dependent Shape support
For networks that produce outputs whose shapes are dependent on the shape of the input, the output buffer must be allocated at runtime. To support this use case we have added a new runtime mode Dynamic Output Allocation Mode to support Data Dependent Shape (DDS) operations, such as NonZero op. (#3388)
Note:
There are two scenarios in which dynamic output allocation is enabled:
requires_output_allocator=True
there by forcing any model which utilizes the converter to automatically use the output allocator runtime mode. e.g.,torch_tensorrt.runtime.enable_output_allocator
context manager.Tiling Optimization support
Tiling optimization enables cross-kernel tiled inference. This technique leverages on-chip caching for continuous kernels in addition to kernel-level tiling. It can significantly enhance performance on platforms constrained by memory bandwidth. (#3444)
We currently support four tiling strategies "none", "fast", "moderate", "full". A higher level allows TensorRT to spend more time searching for better tiling strategy. Here's an example to call tiling optimization:
Model Zoo additions
General Improvements
Python 3.13 support
We added support for Python 3.13 (#3455). However, due to the Python object reference issue in PyTorch 2.7, we disabled the refitting related features for Python 3.13 in this release. This issue should be fixed in the next release.
What's Changed
--use_python_runtime
and--enable_cuda_graph
args to the perf run script by @zewenli98 in feat: add--use_python_runtime
and--enable_cuda_graph
args to the perf run script #3397New Contributors
Full Changelog: v2.6.0...v2.7.0
This discussion was created from the release Torch-TensorRT v2.7.0.
Beta Was this translation helpful? Give feedback.
All reactions