Removed and Deprecated C++ APIs in TensorRT 11.x#

Removed C++ APIs and Replacements#

Warning

The APIs listed below have been removed in TensorRT 11.x and will cause compile-time errors if used. Review each entry for its replacement before upgrading.

Note

The V2 plugin interfaces are deprecated, not removed, and are listed separately in Deprecated C++ Plugin Interfaces and Replacements. The legacy IPluginRegistry creator overloads that took IPluginCreator are genuinely removed and remain in the list below.

BuilderFlag::kFP16

Strong typing with ModelOpt AutoCast

BuilderFlag::kINT8

Explicit quantization with Q/DQ nodes

BuilderFlag::kFP8

Explicit quantization with Q/DQ nodes

BuilderFlag::kBF16

Strong typing with ModelOpt AutoCast

BuilderFlag::kINT4

Explicit quantization with Q/DQ nodes

BuilderFlag::kFP4

Explicit quantization with Q/DQ nodes

BuilderFlag::kOBEY_PRECISION_CONSTRAINTS

Strong typing (always enforced)

BuilderFlag::kPREFER_PRECISION_CONSTRAINTS

Strong typing (always enforced)

BuilderFlag::kDIRECT_IO

Removed (not needed in 11.x)

IAlgorithm, IAlgorithmContext, IAlgorithmIOInfo, IAlgorithmSelector, IAlgorithmVariant

Use editable mode in ITimingCache instead.

IBuilderConfig::setInt8Calibrator(IInt8Calibrator*)

Explicit quantization with Q/DQ nodes

IBuilder::platformHasFastFp16()

Removed; use strongly typed networks instead of querying platform FP16 support. Third-party code that links against TensorRT 11.x, including the ONNX Runtime TensorRT Execution Provider, must migrate away from this API. ONNX Runtime 1.27+ supports TensorRT 11.x. Refer to the TensorRT 11.0.0 release notes (Known Issues) and TensorRT 11.1.0 release notes (Fixed Issues).

IBuilder::platformHasFastInt8()

Removed; use explicit quantization with Q/DQ nodes instead of querying platform INT8 support.

IBuilderConfig::getInt8Calibrator()

Removed

IBuilderConfig::setCalibrationProfile(IOptimizationProfile const*)

Removed

IBuilderConfig::getCalibrationProfile()

Removed

IBuilderConfig::setQuantizationFlags(QuantizationFlags)

Removed

IBuilderConfig::getQuantizationFlags()

Removed

IBuilderConfig::clearQuantizationFlag(QuantizationFlag)

Removed

IBuilderConfig::setQuantizationFlag(QuantizationFlag)

Removed

IBuilderConfig::getQuantizationFlag(QuantizationFlag)

Removed

ICudaEngine::createExecutionContextWithoutDeviceMemory()

ICudaEngine::createExecutionContext()

ICudaEngine::getDeviceMemorySize()

ICudaEngine::getDeviceMemorySizeV2()

ICudaEngine::getDeviceMemorySizeForProfile(int32_t)

ICudaEngine::getDeviceMemorySizeForProfileV2(int32_t)

ICudaEngine::getMinimumWeightStreamingBudget()

Compute from getStreamableWeightsSize()

ICudaEngine::getProfileTensorValues(char const*, int32_t, OptProfileSelector)

ICudaEngine::getProfileTensorValuesV2()

ICudaEngine::getWeightStreamingBudget()

ICudaEngine::getWeightStreamingBudgetV2()

ICudaEngine::hasImplicitBatchDimension()

Removed (always false)

ICudaEngine::setWeightStreamingBudget(int64_t)

ICudaEngine::setWeightStreamingBudgetV2(int64_t)

IExecutionContext::allInputShapesSpecified()

Removed (always true)

IExecutionContext::setDeviceMemory(void*)

IExecutionContext::setDeviceMemoryV2(void*, int64_t)

IGpuAllocator::allocate(uint64_t, uint64_t, AllocatorFlags)

IGpuAllocator::allocateAsync(uint64_t, uint64_t, AllocatorFlags, cudaStream_t)

IGpuAllocator::deallocate(void*)

IGpuAllocator::deallocateAsync(void*, cudaStream_t)

IInt8Calibrator (all subclasses)

Explicit quantization with Q/DQ nodes

ILayer::setPrecision(DataType)

Strong typing (set types on tensors directly)

ILayer::getPrecision()

Removed

ILayer::precisionIsSet()

Removed

ILayer::resetPrecision()

Removed

ILayer::setOutputType(int32_t, DataType)

Strong typing (set types on tensors directly)

ILayer::outputTypeIsSet(int32_t)

Removed

ILayer::resetOutputType(int32_t)

Removed

INetworkDefinition::addAttention(..., bool)

INetworkDefinition::addAttentionV2(..., CausalMaskKind)

INetworkDefinition::addNMS(ITensor&, ITensor&, ITensor&)

INetworkDefinition::addNMS(..., DataType) (4-arg version)

INetworkDefinition::addNonZero(ITensor&)

INetworkDefinition::addNonZero(ITensor&, DataType)

INetworkDefinition::addNormalization(...)

INetworkDefinition::addNormalizationV2(...)

INetworkDefinition::addTopK(ITensor&, TopKOperation, int32_t, uint32_t)

INetworkDefinition::addTopK(..., DataType) (5-arg version)

INormalizationLayer::setComputePrecision(DataType)

Removed (use strong typing)

IOutputAllocator::reallocateOutput(char const*, void*, uint64_t, uint64_t)

IOutputAllocator::reallocateOutputAsync(..., cudaStream_t)

IPluginRegistry::deregisterCreator(IPluginCreator const&)

IPluginRegistry::deregisterCreator(IPluginCreatorInterface const&)

IPluginRegistry::getPluginCreator(...)

IPluginRegistry::getCreator(...)

IPluginRegistry::getPluginCreatorList(int32_t*)

IPluginRegistry::getAllCreators(int32_t*)

IPluginRegistry::registerCreator(IPluginCreator&, ...)

IPluginRegistry::registerCreator(IPluginCreatorInterface&, ...)

IRefitter::setDynamicRange(char const*, float, float)

Explicit quantization with Q/DQ nodes

IRefitter::getDynamicRangeMin(char const*)

Removed

IRefitter::getDynamicRangeMax(char const*)

Removed

IRefitter::getTensorsWithDynamicRange()

Removed

IRuntime::deserializeCudaEngine(IStreamReader&)

IRuntime::deserializeCudaEngine(IStreamReaderV2&)

ITensor::setType(DataType)

Strong typing (type determined by network construction)

ITensor::setDynamicRange(float, float)

Explicit quantization with Q/DQ nodes

ITensor::dynamicRangeIsSet()

Removed

ITensor::resetDynamicRange()

Removed

ITensor::getDynamicRangeMin()

Removed

ITensor::getDynamicRangeMax()

Removed

ITensor::setBroadcastAcrossBatch(bool)

Removed (implicit batch not supported)

ITensor::getBroadcastAcrossBatch()

Removed (implicit batch not supported)

TacticSource::kCUBLAS

Removed

TacticSource::kCUBLAS_LT

Removed

TacticSource::kCUDNN

Removed

DetectionOutputParameters

Removed

NMSParameters

Removed

CodeTypeSSD

Removed

Deprecated C++ Plugin Interfaces and Replacements#

Note

The interfaces listed below are deprecated, not removed. They are still declared in the TensorRT 11.x headers, so existing V2 plugins continue to compile and run; expect deprecation warnings at compile time. Plan the migration to IPluginV3 now, because these interfaces can be removed in a future major release.

IPluginV2 and IPluginV2Ext have been deprecated since TensorRT 8.5. IPluginV2IOExt, IPluginV2DynamicExt, IPluginCreator, and IPluginV2Layer are deprecated as of TensorRT 10.0.

IPluginV2

IPluginV3

IPluginV2Ext

IPluginV3

IPluginV2IOExt

IPluginV3

IPluginV2DynamicExt

IPluginV3

IPluginV2Layer

IPluginV3Layer

IPluginCreator

IPluginCreatorV3One

INetworkDefinition::addPluginV2(ITensor* const*, int32_t, IPluginV2&)

INetworkDefinition::addPluginV3(...)

Removed C++ Plugins and Replacements#

Warning

The plugins listed below have been removed in TensorRT 11.x. Using them will cause compilation or linker errors. Review each entry for its replacement before upgrading.

BatchedNMS_TRT

Use INetworkDefinition::addNMS()

BatchedNMSDynamic_TRT

Use INetworkDefinition::addNMS()

BatchTilePlugin_TRT

Implement with standard TensorRT layers

Clip_TRT

Use INetworkDefinition::addActivation() with kCLIP

CoordConvAC

Implement with standard TensorRT layers (concatenate coordinate channels with IConcatenationLayer, then apply convolution)

CustomGeluPluginDynamic

Use INetworkDefinition::addActivation() with kGELU_ERF or kGELU_TANH

EfficientNMS_ONNX_TRT

Use INetworkDefinition::addNMS()

LReLU_TRT

Use INetworkDefinition::addActivation() with kLEAKY_RELU

NMS_TRT

Use INetworkDefinition::addNMS()

NMSDynamic_TRT

Use INetworkDefinition::addNMS()

Normalize_TRT

Use INetworkDefinition::addNormalizationV2()

Proposal

Implement with standard TensorRT layers

SingleStepLSTMPlugin

Use INetworkDefinition::addLoop() or standard RNN decomposition

SpecialSlice_TRT

Use INetworkDefinition::addSlice()

Split

Use INetworkDefinition::addSlice()

Deprecated BERT Plugins#

The following OSS BERT plugin classes are deprecated in 11.0.0 and scheduled for removal in a future release. Migrate to the listed replacements before upgrading beyond 11.x.

bertQKVToContextPlugin / CustomQKVToContextPluginDynamic

Refer to Migrate to IAttention for more information.