18#ifndef NV_INFER_RUNTIME_H
19#define NV_INFER_RUNTIME_H
28#define NV_INFER_INTERNAL_INCLUDE 1
30#undef NV_INFER_INTERNAL_INCLUDE
36class IExecutionContext;
39class IEngineInspector;
105 static constexpr int32_t kVALUE = 3;
149 return mImpl->data();
153 std::size_t
size() const noexcept
155 return mImpl->size();
161 return mImpl->type();
215 static constexpr int32_t kVALUE = 2;
239 return mImpl->isConstant();
250 return mImpl->getConstantValue();
265 return mImpl->isSizeTensor();
294 return mImpl->constant(value);
306 return mImpl->operation(op, first, second);
340 return mImpl->declareSizeTensor(outputIndex, opt, upper);
436 int32_t outputIndex,
DimsExprs const* inputs, int32_t nbInputs,
IExprBuilder& exprBuilder) noexcept = 0;
441 static constexpr int32_t kFORMAT_COMBINATION_LIMIT = 100;
475 virtual
bool supportsFormatCombination(
476 int32_t pos,
PluginTensorDesc const* inOut, int32_t nbInputs, int32_t nbOutputs) noexcept = 0;
528 int32_t nbOutputs) const noexcept = 0;
543 void const* const* inputs,
void* const* outputs,
void* workspace, cudaStream_t stream) noexcept = 0;
553 int32_t getTensorRTVersion() const noexcept
override
567 bool const*,
PluginFormat, int32_t)
noexcept override final
582 Dims getOutputDimensions(int32_t,
Dims const*, int32_t)
noexcept override final
594 TRT_DEPRECATED bool isOutputBroadcastAcrossBatch(int32_t,
bool const*, int32_t)
const noexcept override final
606 TRT_DEPRECATED bool canBroadcastInputAcrossBatch(int32_t)
const noexcept override final
614 size_t getWorkspaceSize(int32_t)
const noexcept override final
622 int32_t enqueue(int32_t,
void const*
const*,
void*
const*,
void*, cudaStream_t)
noexcept override final
656 virtual int64_t
read(
void* destination, int64_t nbBytes) = 0;
722 virtual int64_t
read(
void* destination, int64_t nbBytes, cudaStream_t stream)
noexcept = 0;
821 virtual
AsciiChar const* getPluginVersion() const noexcept = 0;
832 virtual
AsciiChar const* getPluginNamespace() const noexcept = 0;
843 static constexpr int32_t kDEFAULT_FORMAT_COMBINATION_LIMIT = 100;
892 DataType* outputTypes, int32_t nbOutputs,
const DataType* inputTypes, int32_t nbInputs)
const noexcept = 0;
915 int32_t nbShapeInputs,
DimsExprs* outputs, int32_t nbOutputs,
IExprBuilder& exprBuilder)
noexcept = 0;
1041 return kDEFAULT_FORMAT_COMBINATION_LIMIT;
1114 void const*
const* inputs,
void*
const* outputs,
void* workspace, cudaStream_t stream)
noexcept = 0;
1496 static constexpr int32_t kVALUE = 13;
1518 static constexpr int32_t kVALUE = 1;
1600 static constexpr int32_t kVALUE = 5;
1635 uint64_t
const size, uint64_t
const alignment,
AllocatorFlags const flags)
noexcept = 0;
1677 virtual void*
reallocate(
void*
const , uint64_t , uint64_t )
noexcept
1731 uint64_t
const size, uint64_t
const alignment,
AllocatorFlags const flags, cudaStream_t )
noexcept
1733 return allocate(size, alignment, flags);
1765 return deallocate(memory);
1773 return {
"IGpuAllocator", 1, 0};
1832 void setDLACore(int32_t dlaCore) noexcept
1834 mImpl->setDLACore(dlaCore);
1844 return mImpl->getDLACore();
1852 return mImpl->getNbDLACores();
1867 mImpl->setGpuAllocator(allocator);
1886 mImpl->setErrorRecorder(recorder);
1901 return mImpl->getErrorRecorder();
1916 return mImpl->deserializeCudaEngine(blob, size);
1937 return mImpl->deserializeCudaEngine(streamReader);
1958 return mImpl->deserializeCudaEngineV2(streamReader);
1968 return mImpl->getLogger();
1983 return mImpl->setMaxThreads(maxThreads);
1997 return mImpl->getMaxThreads();
2032 return mImpl->setTemporaryDirectory(path);
2043 return mImpl->getTemporaryDirectory();
2059 return mImpl->setTempfileControlFlags(flags);
2071 return mImpl->getTempfileControlFlags();
2081 return mImpl->getPluginRegistry();
2111 return mImpl->setEngineHostCodeAllowed(allowed);
2121 return mImpl->getEngineHostCodeAllowed();
2157 return mImpl->setWeights(layerName, role, weights);
2174 return mImpl->refitCudaEngine();
2195 return mImpl->getMissing(size, layerNames, roles);
2212 return mImpl->getAll(size, layerNames, roles);
2234 return mImpl->setDynamicRange(tensorName, min, max);
2250 return mImpl->getDynamicRangeMin(tensorName);
2266 return mImpl->getDynamicRangeMax(tensorName);
2284 return mImpl->getTensorsWithDynamicRange(size, tensorNames);
2303 mImpl->setErrorRecorder(recorder);
2318 return mImpl->getErrorRecorder();
2343 return mImpl->setNamedWeights(name, weights);
2363 return mImpl->getMissingWeights(size, weightsNames);
2379 return mImpl->getAllWeights(size, weightsNames);
2389 return mImpl->getLogger();
2405 return mImpl->setMaxThreads(maxThreads);
2419 return mImpl->getMaxThreads();
2446 return mImpl->setNamedWeightsWithLocation(name, weights, location);
2462 return mImpl->getNamedWeights(weightsName);
2478 return mImpl->getWeightsLocation(weightsName);
2494 return mImpl->unsetNamedWeights(weightsName);
2510 return mImpl->setWeightsValidation(weightsValidation);
2518 return mImpl->getWeightsValidation();
2540 return mImpl->refitCudaEngineAsync(stream);
2558 return mImpl->getWeightsPrototype(weightsName);
2647 return mImpl->setDimensions(inputName, select, dims);
2659 return mImpl->getDimensions(inputName, select);
2705 char const* inputName,
OptProfileSelector select, int32_t
const* values, int32_t nbValues)
noexcept
2707 return mImpl->setShapeValues(inputName, select, values, nbValues);
2720 return mImpl->getNbShapeValues(inputName);
2732 return mImpl->getShapeValues(inputName, select);
2750 return mImpl->setExtraMemoryTarget(target);
2762 return mImpl->getExtraMemoryTarget();
2779 return mImpl->isValid();
2910 return mImpl->setFlags(serializationFlags);
2922 return mImpl->getFlags();
2934 return mImpl->clearFlag(serializationFlag);
2946 return mImpl->setFlag(serializationFlag);
2958 return mImpl->getFlag(serializationFlag);
3016 Dims getTensorShape(
char const* tensorName) const noexcept
3018 return mImpl->getTensorShape(tensorName);
3033 return mImpl->getTensorDataType(tensorName);
3047 return mImpl->getNbLayers();
3061 return mImpl->serialize();
3079 return mImpl->createExecutionContext(strategy);
3096 return mImpl->getTensorLocation(tensorName);
3116 return mImpl->isShapeInferenceIO(tensorName);
3130 return mImpl->getTensorIOMode(tensorName);
3142 return mImpl->createExecutionContextWithoutDeviceMemory();
3154 return mImpl->getDeviceMemorySize();
3166 return mImpl->getDeviceMemorySizeForProfile(profileIndex);
3182 return mImpl->getDeviceMemorySizeV2();
3198 return mImpl->getDeviceMemorySizeForProfileV2(profileIndex);
3208 return mImpl->isRefittable();
3229 return mImpl->getTensorBytesPerComponent(tensorName);
3247 return mImpl->getTensorBytesPerComponentV2(tensorName, profileIndex);
3268 return mImpl->getTensorComponentsPerElement(tensorName);
3286 return mImpl->getTensorComponentsPerElementV2(tensorName, profileIndex);
3301 return mImpl->getTensorFormat(tensorName);
3315 return mImpl->getTensorFormatV2(tensorName, profileIndex);
3339 return mImpl->getTensorFormatDesc(tensorName);
3362 return mImpl->getTensorFormatDescV2(tensorName, profileIndex);
3379 return mImpl->getTensorVectorizedDim(tensorName);
3395 return mImpl->getTensorVectorizedDimV2(tensorName, profileIndex);
3410 return mImpl->getName();
3421 return mImpl->getNbOptimizationProfiles();
3441 return mImpl->getProfileShape(tensorName, profileIndex, select);
3464 return mImpl->getProfileTensorValues(tensorName, profileIndex, select);
3479 return mImpl->getEngineCapability();
3498 return mImpl->setErrorRecorder(recorder);
3513 return mImpl->getErrorRecorder();
3527 return mImpl->hasImplicitBatchDimension();
3543 return mImpl->getTacticSources();
3555 return mImpl->getProfilingVerbosity();
3565 return mImpl->createEngineInspector();
3578 return mImpl->getNbIOTensors();
3590 return mImpl->getIOTensorName(index);
3603 return mImpl->getHardwareCompatibilityLevel();
3618 return mImpl->getNbAuxStreams();
3628 return mImpl->createSerializationConfig();
3644 return mImpl->serializeWithConfig(config);
3689 return mImpl->setWeightStreamingBudget(gpuMemoryBudget);
3709 return mImpl->getWeightStreamingBudget();
3732 return mImpl->getMinimumWeightStreamingBudget();
3748 return mImpl->getStreamableWeightsSize();
3790 return mImpl->setWeightStreamingBudgetV2(gpuMemoryBudget);
3808 return mImpl->getWeightStreamingBudgetV2();
3833 return mImpl->getWeightStreamingAutomaticBudget();
3861 return mImpl->getWeightStreamingScratchMemorySize();
3875 return mImpl->isDebugTensor(name);
3892 return {
"IOutputAllocator", 1, 0};
3915 char const* tensorName,
void* currentMemory, uint64_t size, uint64_t alignment)
noexcept
3943 char const* tensorName,
void* currentMemory, uint64_t size, uint64_t alignment, cudaStream_t )
3945 return reallocateOutput(tensorName, currentMemory, size, alignment);
3979 return {
"IDebugListener", 1, 0};
3996 char const* name, cudaStream_t stream)
4033 void setDebugSync(
bool sync) noexcept
4035 mImpl->setDebugSync(sync);
4045 return mImpl->getDebugSync();
4055 mImpl->setProfiler(profiler);
4065 return mImpl->getProfiler();
4075 return mImpl->getEngine();
4089 mImpl->setName(name);
4099 return mImpl->getName();
4126 mImpl->setDeviceMemory(memory);
4148 return mImpl->setDeviceMemoryV2(memory, size);
4169 return mImpl->getTensorStrides(tensorName);
4184 return mImpl->getOptimizationProfile();
4202 return mImpl->setInputShape(tensorName, dims);
4239 return mImpl->getTensorShape(tensorName);
4255 return mImpl->allInputDimensionsSpecified();
4272 return mImpl->allInputShapesSpecified();
4291 mImpl->setErrorRecorder(recorder);
4306 return mImpl->getErrorRecorder();
4323 return mImpl->executeV2(bindings);
4367 return mImpl->setOptimizationProfileAsync(profileIndex, stream);
4383 mImpl->setEnqueueEmitsProfile(enqueueEmitsProfile);
4395 return mImpl->getEnqueueEmitsProfile();
4425 return mImpl->reportToProfiler();
4469 return mImpl->setTensorAddress(tensorName, data);
4486 return mImpl->getTensorAddress(tensorName);
4509 return mImpl->setOutputTensorAddress(tensorName, data);
4531 return mImpl->setInputTensorAddress(tensorName, data);
4550 return mImpl->getOutputTensorAddress(tensorName);
4581 int32_t
inferShapes(int32_t nbMaxNames,
char const** tensorNames)
noexcept
4583 return mImpl->inferShapes(nbMaxNames, tensorNames);
4600 return mImpl->updateDeviceMemorySizeForShapes();
4616 return mImpl->setInputConsumedEvent(event);
4626 return mImpl->getInputConsumedEvent();
4645 return mImpl->setOutputAllocator(tensorName, outputAllocator);
4658 return mImpl->getOutputAllocator(tensorName);
4676 return mImpl->getMaxOutputSize(tensorName);
4696 return mImpl->setTemporaryStorageAllocator(allocator);
4706 return mImpl->getTemporaryStorageAllocator();
4730 return mImpl->enqueueV3(stream);
4746 mImpl->setPersistentCacheLimit(size);
4757 return mImpl->getPersistentCacheLimit();
4781 return mImpl->setNvtxVerbosity(verbosity);
4793 return mImpl->getNvtxVerbosity();
4824 mImpl->setAuxStreams(auxStreams, nbStreams);
4836 return mImpl->setDebugListener(listener);
4846 return mImpl->getDebugListener();
4865 return mImpl->setTensorDebugState(name, flag);
4878 return mImpl->setAllTensorsDebugState(flag);
4888 return mImpl->getDebugState(name);
4950 return mImpl->setExecutionContext(context);
4962 return mImpl->getExecutionContext();
4987 return mImpl->getLayerInformation(layerIndex, format);
5010 return mImpl->getEngineInformation(format);
5029 mImpl->setErrorRecorder(recorder);
5044 return mImpl->getErrorRecorder();
5057extern "C" TENSORRTAPI void* createInferRuntime_INTERNAL(
void* logger, int32_t version)
noexcept;
5063extern "C" TENSORRTAPI void* createInferRefitter_INTERNAL(
void* engine,
void* logger, int32_t version)
noexcept;
5115template <
typename T>
5131#define REGISTER_TENSORRT_PLUGIN(name) \
5132 static nvinfer1::PluginRegistrar<name> pluginRegistrar##name {}
5201 cudaStream_t )
noexcept override = 0;
5253 uint64_t
const size, uint64_t
const alignment,
AllocatorFlags const flags)
noexcept override
5255 return allocateAsync(size, alignment, flags,
nullptr);
5278 return deallocateAsync(memory,
nullptr);
5286 return {
"IGpuAllocator", 1, 0};
5334 virtual
AsciiChar const* getPluginName() const noexcept = 0;
5342 virtual
AsciiChar const* getPluginVersion() const noexcept = 0;
5350 virtual
AsciiChar const* getPluginNamespace() const noexcept = 0;
nvinfer1::ILogger * getLogger() noexcept
返回 logger 对象。
int32_t getInferLibMajorVersion() noexcept
返回库主版本号。
nvinfer1::IPluginRegistry * getPluginRegistry() noexcept
返回插件注册表。
int32_t getInferLibPatchVersion() noexcept
返回库补丁版本号。
int32_t getInferLibMinorVersion() noexcept
返回库次版本号。
int32_t getInferLibBuildVersion() noexcept
返回库构建版本号。
#define TENSORRTAPI
定义: NvInferRuntimeBase.h:59
#define NV_TENSORRT_VERSION
定义: NvInferRuntimeBase.h:91
#define TRT_DEPRECATED
定义: NvInferRuntimeBase.h:45
#define TRT_DEPRECATED_ENUM
定义: NvInferRuntimeBase.h:46
定义: NvInferRuntimeBase.h:203
static constexpr int32_t MAX_DIMS
张量支持的最大秩(维度数量)。
定义: NvInferRuntimeBase.h:206
Dims 类的模拟,使用表达式代替常量来表示维度。
定义: NvInferRuntime.h:350
IDimensionExpr const * d[Dims::MAX_DIMS]
每个维度的范围。
定义: NvInferRuntime.h:353
int32_t nbDims
维度的数量。
定义: NvInferRuntime.h:352
用于在已构建的网络上执行推理的引擎,具有功能上不安全的功能。
定义: NvInferRuntime.h:3002
int32_t getTensorBytesPerComponent(char const *tensorName) const noexcept
返回一个元素中每个组件的字节数,如果张量未向量化或未提供,则返回 -1...
定义: NvInferRuntime.h:3227
ISerializationConfig * createSerializationConfig() noexcept
创建一个序列化配置对象。
定义: NvInferRuntime.h:3626
TRT_DEPRECATED int64_t getWeightStreamingBudget() const noexcept
以字节为单位返回当前权重流设备内存预算。
定义: NvInferRuntime.h:3707
int32_t const * getProfileTensorValues(char const *tensorName, int32_t profileIndex, OptProfileSelector select) const noexcept
获取给定名称的输入张量在某个优化配置下的最小/最佳/最大值(非维度)...
定义: NvInferRuntime.h:3461
char const * getIOTensorName(int32_t index) const noexcept
返回 IO 张量的名称。
定义: NvInferRuntime.h:3588
int64_t getWeightStreamingBudgetV2() const noexcept
以字节为单位返回当前权重流设备内存预算。
定义: NvInferRuntime.h:3806
EngineCapability getEngineCapability() const noexcept
确定此引擎具有的执行能力。
定义: NvInferRuntime.h:3477
IErrorRecorder * getErrorRecorder() const noexcept
获取分配给此接口的 ErrorRecorder。
定义: NvInferRuntime.h:3511
TensorFormat getTensorFormat(char const *tensorName, int32_t profileIndex) const noexcept
返回给定配置的张量格式,如果提供的名称未映射到...
定义: NvInferRuntime.h:3313
TRT_DEPRECATED bool hasImplicitBatchDimension() const noexcept
查询引擎是否使用隐式批次维度构建。
定义: NvInferRuntime.h:3525
apiv::VCudaEngine * mImpl
定义: NvInferRuntime.h:3879
TRT_DEPRECATED size_t getDeviceMemorySizeForProfile(int32_t profileIndex) const noexcept
返回配置文件的上下文所需的最大设备内存。
定义: NvInferRuntime.h:3164
IExecutionContext * createExecutionContext(ExecutionContextAllocationStrategy strategy=ExecutionContextAllocationStrategy::kSTATIC) noexcept
创建一个执行上下文并指定用于分配内部激活内存的策略。
定义: NvInferRuntime.h:3076
char const * getTensorFormatDesc(char const *tensorName) const noexcept
返回张量格式的人类可读描述,如果提供的名称不映射到...
定义: NvInferRuntime.h:3337
Dims getProfileShape(char const *tensorName, int32_t profileIndex, OptProfileSelector select) const noexcept
获取给定名称的输入张量在优化下的最小/最佳/最大维度...
定义: NvInferRuntime.h:3439
bool setWeightStreamingBudgetV2(int64_t gpuMemoryBudget) noexcept
限制网络权重可用的最大 GPU 内存量(以字节为单位)。
定义: NvInferRuntime.h:3788
int32_t getNbAuxStreams() const noexcept
返回此引擎使用的辅助流的数量。
定义: NvInferRuntime.h:3616
int64_t getStreamableWeightsSize() const noexcept
获取所有可流式传输权重的总大小(以字节为单位)。
定义: NvInferRuntime.h:3746
DataType getTensorDataType(char const *tensorName) const noexcept
从张量名称确定缓冲区所需的数据类型。
定义: NvInferRuntime.h:3031
void setErrorRecorder(IErrorRecorder *recorder) noexcept
为此接口设置 ErrorRecorder。
定义: NvInferRuntime.h:3496
TacticSources getTacticSources() const noexcept
返回此引擎所需的策略源。
定义: NvInferRuntime.h:3541
IHostMemory * serializeWithConfig(ISerializationConfig &config) const noexcept
使用提供的 SerializationConfig 将网络序列化到流中。
定义: NvInferRuntime.h:3642
virtual ~ICudaEngine() noexcept=default
int64_t getWeightStreamingAutomaticBudget() const noexcept
TensorRT 自动确定模型运行的设备内存预算。预算接近于...
定义: NvInferRuntime.h:3831
bool isDebugTensor(char const *name) const noexcept
检查张量是否标记为调试张量。
定义: NvInferRuntime.h:3873
int32_t getTensorVectorizedDim(char const *tensorName, int32_t profileIndex) const noexcept
返回给定配置的缓冲区向量化的维度索引,如果提供的名称...
定义: NvInferRuntime.h:3393
char const * getName() const noexcept
返回与引擎关联的网络的名称。
定义: NvInferRuntime.h:3408
ProfilingVerbosity getProfilingVerbosity() const noexcept
返回构建引擎时构建器配置设置的 ProfilingVerbosity。
定义: NvInferRuntime.h:3553
bool isShapeInferenceIO(char const *tensorName) const noexcept
如果张量是形状计算所需的输入或形状计算的输出,则为 True。
定义: NvInferRuntime.h:3114
int64_t getWeightStreamingScratchMemorySize() const noexcept
返回当前权重流预算所需的暂存内存大小。
定义: NvInferRuntime.h:3859
TRT_DEPRECATED bool setWeightStreamingBudget(int64_t gpuMemoryBudget) noexcept
限制网络权重可用的最大 GPU 内存量(以字节为单位)。
定义: NvInferRuntime.h:3687
int64_t getDeviceMemorySizeV2() const noexcept
返回所有配置文件中上下文所需的最大设备内存。
定义: NvInferRuntime.h:3180
int32_t getTensorVectorizedDim(char const *tensorName) const noexcept
返回缓冲区向量化的维度索引,如果提供的名称未映射到 ...,则返回 -1。
定义: NvInferRuntime.h:3377
TRT_DEPRECATED size_t getDeviceMemorySize() const noexcept
返回所有配置文件中上下文所需的最大设备内存。
定义: NvInferRuntime.h:3152
int32_t getTensorComponentsPerElement(char const *tensorName, int32_t profileIndex) const noexcept
返回给定配置的元素中包含的组件数量,如果张量未向量化,则返回 -1...
定义: NvInferRuntime.h:3284
int64_t getDeviceMemorySizeForProfileV2(int32_t profileIndex) const noexcept
返回配置文件的上下文所需的最大设备内存。
定义: NvInferRuntime.h:3196
TensorFormat getTensorFormat(char const *tensorName) const noexcept
返回张量格式,如果提供的名称未映射到输入或输出,则返回 TensorFormat::kLINEAR...
定义: NvInferRuntime.h:3299
IHostMemory * serialize() const noexcept
将网络序列化到流中。
定义: NvInferRuntime.h:3059
TensorLocation getTensorLocation(char const *tensorName) const noexcept
获取输入或输出张量是否必须在 GPU 或 CPU 上。
定义: NvInferRuntime.h:3094
IEngineInspector * createEngineInspector() const noexcept
创建一个新的引擎检查器,用于打印引擎或执行上下文中的层信息。
定义: NvInferRuntime.h:3563
int32_t getTensorBytesPerComponent(char const *tensorName, int32_t profileIndex) const noexcept
返回给定配置的元素中每个组件的字节数,如果张量是...
定义: NvInferRuntime.h:3245
HardwareCompatibilityLevel getHardwareCompatibilityLevel() const noexcept
返回此引擎的硬件兼容性级别。
定义: NvInferRuntime.h:3601
int32_t getNbOptimizationProfiles() const noexcept
获取为此引擎定义的优化配置文件的数量。
定义: NvInferRuntime.h:3419
TRT_DEPRECATED IExecutionContext * createExecutionContextWithoutDeviceMemory() noexcept
创建一个不分配任何设备内存的执行上下文
定义: NvInferRuntime.h:3140
char const * getTensorFormatDesc(char const *tensorName, int32_t profileIndex) const noexcept
返回给定配置的张量格式的人类可读描述,如果 p...,则返回空字符串。
定义: NvInferRuntime.h:3360
TRT_DEPRECATED int64_t getMinimumWeightStreamingBudget() const noexcept
网络权重成功进行权重流式传输所需的最小 GPU 内存字节数...
定义: NvInferRuntime.h:3730
TensorIOMode getTensorIOMode(char const *tensorName) const noexcept
确定张量是输入张量还是输出张量。
定义: NvInferRuntime.h:3128
int32_t getNbLayers() const noexcept
获取网络中的层数。
定义: NvInferRuntime.h:3045
int32_t getNbIOTensors() const noexcept
返回 IO 张量的数量。
定义: NvInferRuntime.h:3576
int32_t getTensorComponentsPerElement(char const *tensorName) const noexcept
返回一个元素中包含的组件数量,如果张量未向量化或如果 ...,则返回 -1。
定义: NvInferRuntime.h:3266
bool isRefittable() const noexcept
如果引擎可以重新拟合,则返回 true。
定义: NvInferRuntime.h:3206
IDimensionExpr 表示从常量、输入维度构建的整数表达式...
定义: NvInferRuntime.h:232
bool isConstant() const noexcept
如果表达式是构建时常量,则返回 true。
定义: NvInferRuntime.h:237
bool isSizeTensor() const noexcept
如果这表示大小张量的值,则返回 true。
定义: NvInferRuntime.h:263
virtual ~IDimensionExpr() noexcept=default
apiv::VDimensionExpr * mImpl
定义: NvInferRuntime.h:254
int64_t getConstantValue() const noexcept
获取常量的值。
定义: NvInferRuntime.h:248
引擎检查器,用于打印引擎或执行上下文的层信息。
定义: NvInferRuntime.h:4932
char const * getLayerInformation(int32_t layerIndex, LayerInformationFormat format) const noexcept
获取描述当前引擎或执行上下文中的特定层信息的字符串。
定义: NvInferRuntime.h:4985
IErrorRecorder * getErrorRecorder() const noexcept
获取分配给此接口的 ErrorRecorder。
定义: NvInferRuntime.h:5042
void setErrorRecorder(IErrorRecorder *recorder) noexcept
为此接口设置 ErrorRecorder。
定义: NvInferRuntime.h:5027
IExecutionContext const * getExecutionContext() const noexcept
获取当前正在检查的上下文。
定义: NvInferRuntime.h:4960
apiv::VEngineInspector * mImpl
定义: NvInferRuntime.h:5048
virtual ~IEngineInspector() noexcept=default
char const * getEngineInformation(LayerInformationFormat format) const noexcept
获取描述当前引擎或执行上下文中所有层信息的字符串。
定义: NvInferRuntime.h:5008
使用引擎执行推理的上下文,具有功能上不安全的功能。
定义: NvInferRuntime.h:4021
IOutputAllocator * getOutputAllocator(char const *tensorName) const noexcept
获取与给定名称的输出张量关联的输出分配器,如果提供的名称 doe...,则返回 nullptr。
定义: NvInferRuntime.h:4656
IErrorRecorder * getErrorRecorder() const noexcept
获取分配给此接口的 ErrorRecorder。
定义: NvInferRuntime.h:4304
bool reportToProfiler() const noexcept
计算 IExecutionContext 中当前优化配置的层计时信息,并更新 ...
定义: NvInferRuntime.h:4423
virtual ~IExecutionContext() noexcept=default
void setDeviceMemory(void *memory) noexcept
设置此执行上下文要使用的设备内存。
定义: NvInferRuntime.h:4124
TRT_DEPRECATED bool allInputShapesSpecified() const noexcept
是否已指定所有输入形状绑定。
定义: NvInferRuntime.h:4270
bool setTensorDebugState(char const *name, bool flag) noexcept
设置给定张量名称的张量的调试状态。
定义: NvInferRuntime.h:4863
char const * getName() const noexcept
返回执行上下文的名称。
定义: NvInferRuntime.h:4097
IGpuAllocator * getTemporaryStorageAllocator() const noexcept
通过 setTemporaryStorageAllocator 获取分配器集。
定义: NvInferRuntime.h:4704
void setEnqueueEmitsProfile(bool enqueueEmitsProfile) noexcept
设置 enqueue 是否将层计时信息发送到 profiler。
定义: NvInferRuntime.h:4381
Dims getTensorShape(char const *tensorName) const noexcept
返回给定输入或输出的形状。
定义: NvInferRuntime.h:4237
bool getDebugState(char const *name) const noexcept
定义: NvInferRuntime.h:4886
bool setInputShape(char const *tensorName, Dims const &dims) noexcept
设置给定输入的形状。
定义: NvInferRuntime.h:4200
bool executeV2(void *const *bindings) noexcept
同步执行网络。
定义: NvInferRuntime.h:4321
bool getEnqueueEmitsProfile() const noexcept
获取 enqueueEmitsProfile 状态。
定义: NvInferRuntime.h:4393
void const * getTensorAddress(char const *tensorName) const noexcept
获取绑定到给定输入或输出张量的内存地址,如果提供的名称不匹配,则返回 nullptr...
定义: NvInferRuntime.h:4484
bool setOutputAllocator(char const *tensorName, IOutputAllocator *outputAllocator) noexcept
设置用于给定名称的输出张量的输出分配器。传递 nullptr 给 outputAllocator 以取消设置...
定义: NvInferRuntime.h:4643
bool setOptimizationProfileAsync(int32_t profileIndex, cudaStream_t stream) noexcept
为当前上下文选择一个优化配置文件,使用异步语义。
定义: NvInferRuntime.h:4365
apiv::VExecutionContext * mImpl
定义: NvInferRuntime.h:4892
bool setOutputTensorAddress(char const *tensorName, void *data) noexcept
设置给定输出张量的内存地址。
定义: NvInferRuntime.h:4507
void setPersistentCacheLimit(size_t size) noexcept
设置持久缓存使用的最大大小。
定义: NvInferRuntime.h:4744
size_t getPersistentCacheLimit() const noexcept
获取持久缓存使用的最大大小。
定义: NvInferRuntime.h:4755
bool setAllTensorsDebugState(bool flag) noexcept
定义: NvInferRuntime.h:4876
ICudaEngine const & getEngine() const noexcept
获取关联的引擎。
定义: NvInferRuntime.h:4073
ProfilingVerbosity getNvtxVerbosity() const noexcept
获取执行上下文的 NVTX 详细程度。
定义: NvInferRuntime.h:4791
size_t updateDeviceMemorySizeForShapes() noexcept
基于当前的输入形状重新计算内部激活缓冲区大小,并返回总计...
定义: NvInferRuntime.h:4598
void setAuxStreams(cudaStream_t *auxStreams, int32_t nbStreams) noexcept
设置 TensorRT 应在下次 enqueueV3() 调用中在其上启动内核的辅助流。
定义: NvInferRuntime.h:4822
int64_t getMaxOutputSize(char const *tensorName) const noexcept
获取输出张量大小的上限(以字节为单位),基于当前的优化配置文件和 i...
定义: NvInferRuntime.h:4674
int32_t inferShapes(int32_t nbMaxNames, char const **tensorNames) noexcept
运行形状计算。
定义: NvInferRuntime.h:4581
bool setDebugListener(IDebugListener *listener) noexcept
为此执行上下文设置 DebugListener。
定义: NvInferRuntime.h:4834
bool setTensorAddress(char const *tensorName, void *data) noexcept
设置给定输入或输出张量的内存地址。
定义: NvInferRuntime.h:4467
bool setTemporaryStorageAllocator(IGpuAllocator *allocator) noexcept
指定用于内部临时存储的分配器。
定义: NvInferRuntime.h:4694
void * getOutputTensorAddress(char const *tensorName) const noexcept
获取给定输出的内存地址。
定义: NvInferRuntime.h:4548
bool enqueueV3(cudaStream_t stream) noexcept
在流上排队推理。
定义: NvInferRuntime.h:4728
IDebugListener * getDebugListener() noexcept
获取此执行上下文的 DebugListener。
定义: NvInferRuntime.h:4844
int32_t getOptimizationProfile() const noexcept
获取当前选定的优化配置文件的索引。
定义: NvInferRuntime.h:4182
bool setInputTensorAddress(char const *tensorName, void const *data) noexcept
设置给定输入的内存地址。
定义: NvInferRuntime.h:4529
bool getDebugSync() const noexcept
获取调试同步标志。
定义: NvInferRuntime.h:4043
bool setInputConsumedEvent(cudaEvent_t event) noexcept
将输入标记为已消耗。
定义: NvInferRuntime.h:4614
Dims getTensorStrides(char const *tensorName) const noexcept
返回给定张量名称的缓冲区的步幅。
定义: NvInferRuntime.h:4167
bool setNvtxVerbosity(ProfilingVerbosity verbosity) noexcept
设置执行上下文中 NVTX 标记的详细程度。
定义: NvInferRuntime.h:4779
IProfiler * getProfiler() const noexcept
获取 profiler。
定义: NvInferRuntime.h:4063
void setErrorRecorder(IErrorRecorder *recorder) noexcept
为此接口设置 ErrorRecorder。
定义: NvInferRuntime.h:4289
void setDeviceMemoryV2(void *memory, int64_t size) noexcept
设置设备内存及其相应大小,供此执行上下文使用。
定义: NvInferRuntime.h:4146
bool allInputDimensionsSpecified() const noexcept
是否已指定输入张量的所有动态维度。
定义: NvInferRuntime.h:4253
void setProfiler(IProfiler *profiler) noexcept
设置 profiler。
定义: NvInferRuntime.h:4053
void setName(char const *name) noexcept
设置执行上下文的名称。
定义: NvInferRuntime.h:4087
cudaEvent_t getInputConsumedEvent() const noexcept
与消耗输入相关的事件。
定义: NvInferRuntime.h:4624
用于构造 IDimensionExpr 的对象。
定义: NvInferRuntime.h:287
IDimensionExpr const * operation(DimensionOperation op, IDimensionExpr const &first, IDimensionExpr const &second) noexcept
获取操作。
定义: NvInferRuntime.h:303
virtual ~IExprBuilder() noexcept=default
IDimensionExpr const * constant(int64_t value) noexcept
返回给定值的 IDimensionExpr 的指针。
定义: NvInferRuntime.h:292
apiv::VExprBuilder * mImpl
定义: NvInferRuntime.h:310
IDimensionExpr const * declareSizeTensor(int32_t outputIndex, IDimensionExpr const &opt, IDimensionExpr const &upper)
在给定的输出索引处声明一个大小张量,具有指定的自动调整公式和上限...
定义: NvInferRuntime.h:338
用于处理库分配的、用户可访问的内存的类。
定义: NvInferRuntime.h:142
void * data() const noexcept
指向库拥有的原始数据的指针。
定义: NvInferRuntime.h:147
DataType type() const noexcept
已分配内存的类型。
定义: NvInferRuntime.h:159
std::size_t size() const noexcept
已分配数据的字节大小。
定义: NvInferRuntime.h:153
apiv::VHostMemory * mImpl
定义: NvInferRuntime.h:165
virtual ~IHostMemory() noexcept=default
用于查找 logger 的虚拟基类。允许插件在需要时查找 logger 的实例...
定义: NvInferRuntime.h:5145
virtual ILogger * findLogger()=0
获取引擎或执行上下文调用的插件方法使用的 logger。
virtual ~ILoggerFinder()=default
应用程序实现的用于构建器、重定器和运行时的日志记录接口。
定义: NvInferRuntime.h:1540
virtual ~ILogger()=default
Severity
与日志消息对应的严重性。
定义: NvInferRuntime.h:1548
virtual void log(Severity severity, AsciiChar const *msg) noexcept=0
应用程序实现的用于处理日志消息的回调;。
IEngineInspector 的前向声明,供其他接口使用。
定义: NvInferRuntime.h:51
INoCopy & operator=(INoCopy &&other)=delete
INoCopy(INoCopy const &other)=delete
INoCopy(INoCopy &&other)=delete
virtual ~INoCopy()=default
INoCopy & operator=(INoCopy const &other)=delete
用于动态输入维度和形状张量的优化配置文件。
定义: NvInferRuntime.h:2616
int32_t const * getShapeValues(char const *inputName, OptProfileSelector select) const noexcept
获取输入形状张量的最小/最佳/最大值。
定义: NvInferRuntime.h:2730
apiv::VOptimizationProfile * mImpl
定义: NvInferRuntime.h:2783
Dims getDimensions(char const *inputName, OptProfileSelector select) const noexcept
获取动态输入张量的最小/最佳/最大维度。
定义: NvInferRuntime.h:2657
virtual ~IOptimizationProfile() noexcept=default
float getExtraMemoryTarget() const noexcept
获取为此配置文件定义的额外内存目标。
定义: NvInferRuntime.h:2760
bool setExtraMemoryTarget(float target) noexcept
为此配置文件设置可能使用的额外 GPU 内存的目标。
定义: NvInferRuntime.h:2748
bool setDimensions(char const *inputName, OptProfileSelector select, Dims const &dims) noexcept
设置动态输入张量的最小/最佳/最大维度。
定义: NvInferRuntime.h:2645
bool setShapeValues(char const *inputName, OptProfileSelector select, int32_t const *values, int32_t nbValues) noexcept
设置输入形状张量的最小/最佳/最大值。
定义: NvInferRuntime.h:2704
bool isValid() const noexcept
检查优化配置文件是否可以传递给 IBuilderConfig 对象。
定义: NvInferRuntime.h:2777
int32_t getNbShapeValues(char const *inputName) const noexcept
获取输入形状张量的值的数量。
定义: NvInferRuntime.h:2718
应用程序中所有插件的单个注册点。它用于查找插件实现...
定义: NvInferRuntimeCommon.h:56
virtual TRT_DEPRECATED bool registerCreator(IPluginCreator &creator, AsciiChar const *const pluginNamespace) noexcept=0
注册实现 IPluginCreator 的插件创建器。如果任何插件创建器具有相同的 s,则返回 false...
用于插件访问 TensorRT 提供的每个上下文资源的接口。
定义: NvInferRuntime.h:767
virtual IErrorRecorder * getErrorRecorder() const noexcept=0
获取与资源上下文关联的错误记录器。
IPluginResourceContext & operator=(IPluginResourceContext const &) &=default
virtual IGpuAllocator * getGpuAllocator() const noexcept=0
获取与资源上下文关联的 GPU 分配器。
类似于 IPluginV2Ext,但支持动态形状。
定义: NvInferRuntime.h:407
IPluginV2DynamicExt * clone() const noexcept override=0
克隆插件对象。这将复制内部插件参数,并返回一个新的插件...
virtual ~IPluginV2DynamicExt() noexcept
定义: NvInferRuntime.h:558
用于用户实现的层的插件类。
定义: NvInferRuntimePlugin.h:468
更新引擎中的权重。
定义: NvInferRuntime.h:2136
bool refitCudaEngineAsync(cudaStream_t stream) noexcept
在给定流上排队关联引擎的权重重定。
定义: NvInferRuntime.h:2538
int32_t getMaxThreads() const noexcept
获取重定器可以使用的最大线程数。
定义: NvInferRuntime.h:2417
TensorLocation getWeightsLocation(char const *weightsName) const noexcept
获取与给定名称关联的权重的location。
定义: NvInferRuntime.h:2476
bool setNamedWeights(char const *name, Weights weights) noexcept
指定给定名称的新权重。
定义: NvInferRuntime.h:2341
int32_t getAllWeights(int32_t size, char const **weightsNames) noexcept
获取所有可以重定的权重的名称。
定义: NvInferRuntime.h:2377
ILogger * getLogger() const noexcept
获取创建重定器时使用的 logger
定义: NvInferRuntime.h:2387
bool refitCudaEngine() noexcept
重定关联的引擎。
定义: NvInferRuntime.h:2172
int32_t getMissingWeights(int32_t size, char const **weightsNames) noexcept
获取缺失权重的名称。
定义: NvInferRuntime.h:2361
TRT_DEPRECATED float getDynamicRangeMax(char const *tensorName) const noexcept
获取动态范围的最大值。
定义: NvInferRuntime.h:2264
int32_t getMissing(int32_t size, char const **layerNames, WeightsRole *roles) noexcept
获取缺失权重的描述。
定义: NvInferRuntime.h:2193
Weights getNamedWeights(char const *weightsName) const noexcept
获取与给定名称关联的权重。
定义: NvInferRuntime.h:2460
bool unsetNamedWeights(char const *weightsName) noexcept
取消设置与给定名称关联的权重。
定义: NvInferRuntime.h:2492
Weights getWeightsPrototype(char const *weightsName) const noexcept
获取与给定名称关联的 Weights 原型。
定义: NvInferRuntime.h:2556
bool setMaxThreads(int32_t maxThreads) noexcept
设置最大线程数。
定义: NvInferRuntime.h:2403
TRT_DEPRECATED float getDynamicRangeMin(char const *tensorName) const noexcept
获取动态范围的最小值。
定义: NvInferRuntime.h:2248
TRT_DEPRECATED int32_t getTensorsWithDynamicRange(int32_t size, char const **tensorNames) const noexcept
获取所有具有可重定动态范围的张量的名称。
定义: NvInferRuntime.h:2282
bool setNamedWeights(char const *name, Weights weights, TensorLocation location) noexcept
在给定名称的指定设备上指定新权重。
定义: NvInferRuntime.h:2444
void setWeightsValidation(bool weightsValidation) noexcept
设置是否在重定期间验证权重。
定义: NvInferRuntime.h:2508
TRT_DEPRECATED bool setDynamicRange(char const *tensorName, float min, float max) noexcept
定义: NvInferRuntime.h:2232
apiv::VRefitter * mImpl
定义: NvInferRuntime.h:2562
int32_t getAll(int32_t size, char const **layerNames, WeightsRole *roles) noexcept
获取所有可以重定的权重的描述。
定义: NvInferRuntime.h:2210
virtual ~IRefitter() noexcept=default
bool getWeightsValidation() const noexcept
获取是否在重定期间验证权重值。
定义: NvInferRuntime.h:2516
void setErrorRecorder(IErrorRecorder *recorder) noexcept
为此接口设置 ErrorRecorder。
定义: NvInferRuntime.h:2301
IErrorRecorder * getErrorRecorder() const noexcept
获取分配给此接口的 ErrorRecorder。
定义: NvInferRuntime.h:2316
允许反序列化功能上不安全的序列化引擎。
定义: NvInferRuntime.h:1817
bool setMaxThreads(int32_t maxThreads) noexcept
设置最大线程数。
定义: NvInferRuntime.h:1981
IRuntime * loadRuntime(char const *path) noexcept
从文件加载 IRuntime。
定义: NvInferRuntime.h:2097
bool getEngineHostCodeAllowed() const noexcept
获取运行时是否允许反序列化具有主机可执行代码的引擎。
定义: NvInferRuntime.h:2119
TempfileControlFlags getTempfileControlFlags() const noexcept
获取此运行时的临时文件控制标志。
定义: NvInferRuntime.h:2069
void setEngineHostCodeAllowed(bool allowed) noexcept
设置运行时是否允许反序列化具有主机可执行代码的引擎。
定义: NvInferRuntime.h:2109
virtual ~IRuntime() noexcept=default
void setTemporaryDirectory(char const *path) noexcept
设置此运行时将用于临时文件的目录。
定义: NvInferRuntime.h:2030
IPluginRegistry & getPluginRegistry() noexcept
获取运行时可以使用的本地插件注册表。
定义: NvInferRuntime.h:2079
apiv::VRuntime * mImpl
定义: NvInferRuntime.h:2125
int32_t getNbDLACores() const noexcept
返回可访问的 DLA 硬件内核数量,如果 DLA 不可用,则返回 0。
定义: NvInferRuntime.h:1850
ICudaEngine * deserializeCudaEngine(void const *blob, std::size_t size) noexcept
从主机内存反序列化引擎。
定义: NvInferRuntime.h:1914
void setTempfileControlFlags(TempfileControlFlags flags) noexcept
设置此运行时的临时文件控制标志。
定义: NvInferRuntime.h:2057
int32_t getDLACore() const noexcept
获取引擎在其上执行的 DLA 内核。
定义: NvInferRuntime.h:1842
void setGpuAllocator(IGpuAllocator *allocator) noexcept
设置 GPU 分配器。
定义: NvInferRuntime.h:1865
IErrorRecorder * getErrorRecorder() const noexcept
获取分配给此接口的 ErrorRecorder。
定义: NvInferRuntime.h:1899
ICudaEngine * deserializeCudaEngine(IStreamReaderV2 &streamReader)
从流反序列化引擎。IStreamReaderV2 预计支持读取到主机和 ...
定义: NvInferRuntime.h:1956
ILogger * getLogger() const noexcept
获取创建运行时时使用的 logger
定义: NvInferRuntime.h:1966
int32_t getMaxThreads() const noexcept
获取运行时可以使用的最大线程数。
定义: NvInferRuntime.h:1995
char const * getTemporaryDirectory() const noexcept
获取此运行时将用于临时文件的目录。
定义: NvInferRuntime.h:2041
TRT_DEPRECATED ICudaEngine * deserializeCudaEngine(IStreamReader &streamReader)
从流反序列化引擎。
定义: NvInferRuntime.h:1935
void setErrorRecorder(IErrorRecorder *recorder) noexcept
为此接口设置 ErrorRecorder。
定义: NvInferRuntime.h:1884
保存用于配置引擎以序列化二进制文件的属性。
定义: NvInferRuntime.h:2893
virtual ~ISerializationConfig() noexcept=default
bool clearFlag(SerializationFlag serializationFlag) noexcept
清除序列化标志。
定义: NvInferRuntime.h:2932
bool setFlag(SerializationFlag serializationFlag) noexcept
设置序列化标志。
定义: NvInferRuntime.h:2944
SerializationFlags getFlags() const noexcept
获取此配置的序列化标志。
定义: NvInferRuntime.h:2920
bool getFlag(SerializationFlag serializationFlag) const noexcept
如果设置了序列化标志,则返回 true。
定义: NvInferRuntime.h:2956
apiv::VSerializationConfig * mImpl
定义: NvInferRuntime.h:2962
用于版本控制的接口类。
定义: NvInferRuntimeBase.h:263
与 TRT 接口关联的版本信息。
定义: NvInferRuntimeBase.h:228
将插件创建器注册到注册表。静态注册表对象将在 ... 时实例化
定义: NvInferRuntime.h:5117
PluginRegistrar()
定义: NvInferRuntime.h:5119
用作层参数的权重数组。
定义: NvInferRuntime.h:124
DataType type
权重的类型。
定义: NvInferRuntime.h:126
int64_t count
数组中权重的数量。
定义: NvInferRuntime.h:128
void const * values
权重值,在一个连续的数组中。
定义: NvInferRuntime.h:127
定义: NvInferRuntime.h:3972
virtual bool processDebugTensor(void const *addr, TensorLocation location, DataType type, Dims const &shape, char const *name, cudaStream_t stream)=0
当调试张量的值更新且 te 的调试状态时调用的回调函数...
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:3977
~IDebugListener() override=default
定义: NvInferRuntimeBase.h:400
定义: NvInferRuntime.h:1608
virtual void * allocateAsync(uint64_t const size, uint64_t const alignment, AllocatorFlags const flags, cudaStream_t) noexcept
应用程序实现的线程安全回调,用于处理 GPU 内存的流有序获取...
定义: NvInferRuntime.h:1730
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:1771
virtual TRT_DEPRECATED bool deallocate(void *const memory) noexcept=0
应用程序实现的线程安全回调,用于处理 GPU 内存的释放。
~IGpuAllocator() override=default
virtual void * reallocate(void *const, uint64_t, uint64_t) noexcept
应用程序实现的线程安全回调,用于调整现有分配的大小。
定义: NvInferRuntime.h:1677
virtual TRT_DEPRECATED void * allocate(uint64_t const size, uint64_t const alignment, AllocatorFlags const flags) noexcept=0
应用程序实现的线程安全回调,用于处理 GPU 内存的获取。
virtual bool deallocateAsync(void *const memory, cudaStream_t) noexcept
应用程序实现的线程安全回调,用于处理 GPU 内存的流有序释放。
定义: NvInferRuntime.h:1763
定义: NvInferRuntime.h:5166
bool deallocateAsync(void *const memory, cudaStream_t) noexcept override=0
应用程序实现的线程安全回调,用于处理流有序异步释放 o...
IGpuAsyncAllocator()=default
void * allocateAsync(uint64_t const size, uint64_t const alignment, AllocatorFlags const flags, cudaStream_t) noexcept override=0
应用程序实现的线程安全回调,用于处理流有序异步获取 i...
TRT_DEPRECATED void * allocate(uint64_t const size, uint64_t const alignment, AllocatorFlags const flags) noexcept override
应用程序实现的线程安全回调,用于处理 GPU 内存的获取。
定义: NvInferRuntime.h:5252
TRT_DEPRECATED bool deallocate(void *const memory) noexcept override
应用程序实现的线程安全回调,用于处理 GPU 内存的释放。
定义: NvInferRuntime.h:5276
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:5284
~IGpuAsyncAllocator() override=default
定义: NvInferRuntime.h:3885
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:3890
virtual void * reallocateOutputAsync(char const *tensorName, void *currentMemory, uint64_t size, uint64_t alignment, cudaStream_t)
返回输出张量的内存指针,如果无法分配内存,则返回 nullptr....
定义: NvInferRuntime.h:3942
virtual void notifyShape(char const *tensorName, Dims const &dims) noexcept=0
当输出张量的形状已知时,由 TensorRT 调用。
virtual TRT_DEPRECATED void * reallocateOutput(char const *tensorName, void *currentMemory, uint64_t size, uint64_t alignment) noexcept
返回输出张量的内存指针,如果无法分配内存,则返回 nullptr....
定义: NvInferRuntime.h:3914
定义: NvInferPluginBase.h:141
定义: NvInferPluginBase.h:193
定义: NvInferRuntime.h:5291
virtual PluginFieldCollection const * getFieldNames() noexcept=0
返回创建插件时需要传递给 createPlugin() 的字段列表,以便在 th 中使用...
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:5296
virtual IPluginV3 * createPlugin(AsciiChar const *name, PluginFieldCollection const *fc, TensorRTPhase phase) noexcept=0
返回插件对象。如果发生错误,则返回 nullptr。
定义: NvInferPluginBase.h:206
virtual int32_t getFormatCombinationLimit() noexcept
返回 TensorRT 在构建阶段将计时的最大格式组合数...
定义: NvInferRuntime.h:1039
virtual int32_t getNbOutputs() const noexcept=0
获取插件的输出数量。
virtual int32_t configurePlugin(DynamicPluginTensorDesc const *in, int32_t nbInputs, DynamicPluginTensorDesc const *out, int32_t nbOutputs) noexcept=0
配置插件。
virtual int32_t getNbTactics() noexcept
查询插件打算使用的自定义策略的数量。
定义: NvInferRuntime.h:1015
virtual char const * getMetadataString() noexcept
查询表示插件配置的字符串。可以在插件 c 后随时调用...
定义: NvInferRuntime.h:1050
virtual char const * getTimingCacheID() noexcept
调用以查询用于计时缓存 ID 的后缀。可以在插件创建后随时调用...
定义: NvInferRuntime.h:1031
virtual bool supportsFormatCombination(int32_t pos, DynamicPluginTensorDesc const *inOut, int32_t nbInputs, int32_t nbOutputs) noexcept=0
如果插件支持 pos 索引的输入/输出的格式和数据类型,则返回 true。
virtual int32_t getOutputDataTypes(DataType *outputTypes, int32_t nbOutputs, const DataType *inputTypes, int32_t nbInputs) const noexcept=0
如果输入张量具有提供的数据类型,则提供插件输出的数据类型。
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:848
virtual int32_t getOutputShapes(DimsExprs const *inputs, int32_t nbInputs, DimsExprs const *shapeInputs, int32_t nbShapeInputs, DimsExprs *outputs, int32_t nbOutputs, IExprBuilder &exprBuilder) noexcept=0
提供用于从输入 tenso 的维度计算输出张量维度的表达式...
virtual int32_t getValidTactics(int32_t *tactics, int32_t nbTactics) noexcept
查询插件打算使用的任何自定义策略。
定义: NvInferRuntime.h:1007
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:798
virtual AsciiChar const * getPluginName() const noexcept=0
返回插件名称。应与相应插件创建器返回的插件名称匹配。
定义: NvInferRuntime.h:1057
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:1062
virtual int32_t onShapeChange(PluginTensorDesc const *in, int32_t nbInputs, PluginTensorDesc const *out, int32_t nbOutputs) noexcept=0
当插件正在准备针对特定维度执行时调用。这可能会多次发生...
virtual PluginFieldCollection const * getFieldsToSerialize() noexcept=0
获取应序列化的插件字段。
virtual int32_t setTactic(int32_t tactic) noexcept
设置要在后续 enqueue() 调用中使用的策略。如果没有通告自定义策略,...
定义: NvInferRuntime.h:1074
virtual int32_t enqueue(PluginTensorDesc const *inputDesc, PluginTensorDesc const *outputDesc, void const *const *inputs, void *const *outputs, void *workspace, cudaStream_t stream) noexcept=0
执行层。
virtual IPluginV3 * attachToContext(IPluginResourceContext *context) noexcept=0
克隆插件,将克隆的插件对象附加到执行上下文,并授予克隆的插件 ...
定义: NvInferRuntime.h:1245
virtual ~IProfiler() noexcept
定义: NvInferRuntime.h:1256
virtual void reportLayerTime(char const *layerName, float ms) noexcept=0
层时间报告回调。
~IStreamReader() override=default
IStreamReader & operator=(IStreamReader const &) &=default
IStreamReader & operator=(IStreamReader &&) &=default
virtual int64_t read(void *destination, int64_t nbBytes)=0
读取流中的下一个字节数。
IStreamReader(IStreamReader &&)=default
IStreamReader(IStreamReader const &)=default
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:643
IStreamReaderV2 & operator=(IStreamReaderV2 const &) &=default
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:707
IStreamReaderV2(IStreamReaderV2 &&)=default
~IStreamReaderV2() override=default
virtual int64_t read(void *destination, int64_t nbBytes, cudaStream_t stream) noexcept=0
异步读取流中的下一个字节数。
IStreamReaderV2()=default
IStreamReaderV2(IStreamReaderV2 const &)=default
virtual bool seek(int64_t offset, SeekPosition where) noexcept=0
将流的位置设置为给定的偏移量。
IStreamReaderV2 & operator=(IStreamReaderV2 &&) &=default
定义: NvInferRuntime.h:1154
virtual int32_t getAliasedInput(int32_t outputIndex) noexcept
告知 TensorRT 指定输出索引处的输出与输入处的别名关联...
定义: NvInferRuntime.h:1190
InterfaceInfo getInterfaceInfo() const noexcept override
返回与此接口关联的版本信息。应用程序不得覆盖此方法...
定义: NvInferRuntime.h:1156
IRefitter * createInferRefitter(ICudaEngine &engine, ILogger &logger) noexcept
创建 IRefitter 类的实例。
定义: NvInferRuntime.h:5097
IRuntime * createInferRuntime(ILogger &logger) noexcept
创建 IRuntime 类的实例。
定义: NvInferRuntime.h:5087
uint32_t TacticSources
表示一个或多个 TacticSource 值的集合,使用按位或运算组合。
定义: NvInferRuntime.h:2832
v_1_0::IOutputAllocator IOutputAllocator
定义: NvInferRuntime.h:3967
EngineCapability
支持的引擎能力流程列表。
定义: NvInferRuntime.h:76
DimensionOperation
对两个 IDimensionExpr 的操作,IDimensionExpr 表示维度计算中使用的整数表达式...
定义: NvInferRuntime.h:179
@ kFLOOR_DIV
第一个元素除以第二个元素的向下取整除法。
@ kEQUAL
如果操作数相等,则为 1,否则为 0。
@ kLESS
如果第一个操作数小于第二个操作数,则为 1,否则为 0。
v_1_0::IPluginV3OneCore IPluginV3OneCore
定义: NvInferRuntime.h:1207
TensorIOMode
张量 IO 模式的定义。
定义: NvInferRuntimeBase.h:643
HardwareCompatibilityLevel
描述与 GPU 架构兼容性的要求,该架构不同于执行构建的 GPU 架构...
定义: NvInfer.h:9203
SerializationFlag
引擎在序列化字节时可以启用的有效标志列表。
定义: NvInferRuntime.h:2873
@ kEXCLUDE_WEIGHTS
排除可以重新拟合的权重。
v_1_0::IProfiler IProfiler
定义: NvInferRuntime.h:1271
SeekPosition
控制 IStreamReaderV2 的查找模式。
定义: NvInferRuntime.h:681
v_1_0::IStreamReaderV2 IStreamReaderV2
定义: NvInferRuntime.h:751
uint32_t TempfileControlFlags
表示一个或多个 TempfileControlFlag 值的集合,使用按位或运算组合...
定义: NvInferRuntime.h:1349
v_1_0::IGpuAllocator IGpuAllocator
定义: NvInferRuntime.h:1807
constexpr int32_t EnumMax< WeightsRole >() noexcept
WeightsRole 枚举中元素的最大数量。
定义: NvInferRuntime.h:1292
char_t AsciiChar
定义: NvInferRuntimeBase.h:105
TensorRTPhase
指示 TensorRT 的操作阶段。
定义: NvInferPluginBase.h:116
@ kV2_DYNAMICEXT
IPluginV2DynamicExt。
constexpr int32_t EnumMax< LayerInformationFormat >() noexcept
定义: NvInferRuntime.h:4911
DataType
权重和张量的类型。
定义: NvInferRuntimeBase.h:133
DeviceType
此层/网络将在其上执行的设备。
定义: NvInferRuntime.h:1303
v_1_0::IDebugListener IDebugListener
定义: NvInferRuntime.h:4008
TempfileControlFlag
用于控制 TensorRT 在创建可执行临时文件时的行为的标志。
定义: NvInferRuntime.h:1326
@ kALLOW_IN_MEMORY_FILES
允许在内存中(或未命名的文件)创建和加载文件。
constexpr int32_t EnumMax< OptProfileSelector >() noexcept
OptProfileSelector 枚举的不同值的数量。
定义: NvInferRuntime.h:2588
WeightsRole
层如何使用特定的 Weights。
定义: NvInferRuntime.h:1281
@ kSHIFT
IScaleLayer 的 shift 部分
@ kBIAS
IConvolutionLayer 或 IDeconvolutionLayer 的 bias
@ kKERNEL
IConvolutionLayer 或 IDeconvolutionLayer 的 kernel
constexpr int32_t EnumMax< ProfilingVerbosity >() noexcept
ProfilingVerbosity 枚举中最大profile verbosity levels 的数量。
定义: NvInferRuntime.h:2852
ProfilingVerbosity
NVTX 注释和 IEngineInspector 中公开的层信息 verbosity levels 列表。
定义: NvInferRuntime.h:2844
@ kLAYER_NAMES_ONLY
仅打印层名称。这是默认设置。
@ kDETAILED
打印详细的层信息,包括层名称和层参数。
TacticSource
TensorRT 的 tactic sources 列表。
定义: NvInferRuntime.h:2795
@ kEDGE_MASK_CONVOLUTIONS
TensorFormat PluginFormat
PluginFormat 保留用于向后兼容性。
定义: NvInferRuntimePlugin.h:54
v_1_0::IPluginV3OneRuntime IPluginV3OneRuntime
定义: NvInferRuntime.h:1231
constexpr int32_t EnumMax< TempfileControlFlag >() noexcept
TempfileControlFlag 枚举中元素的最大数量。
定义: NvInferRuntime.h:1338
uint32_t SerializationFlags
表示一个或多个 SerializationFlag 值,使用二进制 OR 运算,例如,1U << Serialization...
定义: NvInferRuntime.h:2863
@ kLINEAR
支持线性 (1D)、双线性 (2D) 和三线性 (3D) 插值。
v_1_0::IPluginV3OneBuild IPluginV3OneBuild
定义: NvInferRuntime.h:1219
TensorFormat
输入/输出张量的格式。
定义: NvInferRuntime.h:1382
ExecutionContextAllocationStrategy
IExecutionContext 的不同内存分配行为。
定义: NvInferRuntime.h:2977
@ kSTATIC
跨所有配置文件的最大尺寸的默认静态分配。
@ kUSER_MANAGED
用户为执行上下文提供自定义分配。
@ kON_PROFILE_CHANGE
在选择配置文件时重新分配。
constexpr int32_t EnumMax< TacticSource >() noexcept
TacticSource 枚举中 tactic sources 的最大数量。
定义: NvInferRuntime.h:2821
LayerInformationFormat
IEngineInspector 打印层信息的格式。
定义: NvInferRuntime.h:4903
v_1_0::IStreamReader IStreamReader
定义: NvInferRuntime.h:674
AllocatorFlag
允许的内存分配类型。
定义: NvInferRuntime.h:1506
@ kRESIZABLE
TensorRT 可能会对此分配调用 realloc()。
constexpr int32_t EnumMax< DeviceType >() noexcept
DeviceType 枚举中元素的最大数量。
定义: NvInferRuntime.h:1310
constexpr int32_t EnumMax< DimensionOperation >() noexcept
DimensionOperation 枚举中元素的最大数量。
定义: NvInferRuntime.h:193
constexpr int32_t EnumMax< ExecutionContextAllocationStrategy >() noexcept
ExecutionContextAllocationStrategy 枚举中内存分配策略的最大数量。
定义: NvInferRuntime.h:2989
constexpr int32_t EnumMax< SerializationFlag >() noexcept
SerializationFlag 枚举中 serialization flags 的最大数量。
定义: NvInferRuntime.h:2880
TensorLocation
张量数据存储的位置,设备或主机。
定义: NvInferRuntime.h:204
OptProfileSelector
在设置或查询优化配置文件参数时(例如 shape tensor inputs 或动态维度...
定义: NvInferRuntime.h:2576
@ kOPT
这用于设置或获取在优化(内核选择)中使用的值。
uint32_t AllocatorFlags
定义: NvInferRuntime.h:1522
概述插件可能看到的输入或输出张量。
定义: NvInferRuntime.h:362
Dims min
张量维度的下限。
定义: NvInferRuntime.h:367
Dims max
张量维度的上限。
定义: NvInferRuntime.h:370
Dims opt
为自动调整指定的张量维度的最佳值。
定义: NvInferRuntime.h:373
PluginTensorDesc desc
解释张量数据指针所需的信息,除了 desc.dims 在动态维度位置为 -1...
定义: NvInferRuntime.h:364
插件字段集合结构体。
定义: NvInferPluginBase.h:103
插件可能看到的输入或输出字段。
定义: NvInferRuntimePlugin.h:73
EnumMaxImpl 结构体的声明,用于存储枚举类型中元素的最大数量。
定义: NvInferRuntimeBase.h:118