TensorRT 10.8.0
nvinfer1::IBuilder 类参考

从网络定义构建引擎。 更多...

#include <NvInfer.h>

nvinfer1::IBuilder 的继承关系图
nvinfer1::INoCopy

公共成员函数

virtual ~IBuilder () noexcept=default
 
TRT_DEPRECATED bool platformHasFastFp16 () const noexcept
 确定平台是否具有快速原生 fp16 支持。 更多...
 
TRT_DEPRECATED bool platformHasFastInt8 () const noexcept
 确定平台是否具有快速原生 int8 支持。 更多...
 
int32_t getMaxDLABatchSize () const noexcept
 获取 DLA 可以支持的最大批次大小。对于任何张量,索引维度(CHW 以外的维度)的总量与请求的批次大小的乘积不应超过此函数返回的值。 更多...
 
int32_t getNbDLACores () const noexcept
 返回此构建器可用的 DLA 引擎数量。 更多...
 
void setGpuAllocator (IGpuAllocator *allocator) noexcept
 设置 GPU 分配器。 更多...
 
nvinfer1::IBuilderConfigcreateBuilderConfig () noexcept
 创建一个构建器配置对象。 更多...
 
nvinfer1::INetworkDefinitioncreateNetworkV2 (NetworkDefinitionCreationFlags flags) noexcept
 创建一个网络定义对象。 更多...
 
nvinfer1::IOptimizationProfilecreateOptimizationProfile () noexcept
 创建一个新的优化配置文件。 更多...
 
void setErrorRecorder (IErrorRecorder *recorder) noexcept
 为此接口设置 ErrorRecorder。 更多...
 
IErrorRecordergetErrorRecorder () const noexcept
 获取分配给此接口的 ErrorRecorder。 更多...
 
void reset () noexcept
 将构建器状态重置为默认值。 更多...
 
TRT_DEPRECATED bool platformHasTf32 () const noexcept
 确定平台是否具有 TF32 支持。 更多...
 
nvinfer1::IHostMemorybuildSerializedNetwork (INetworkDefinition &network, IBuilderConfig &config) noexcept
 为给定的 INetworkDefinitionIBuilderConfig 构建并序列化网络。 更多...
 
nvinfer1::ICudaEnginebuildEngineWithConfig (INetworkDefinition &network, IBuilderConfig &config) noexcept
 为给定的 INetworkDefinitionIBuilderConfig 构建网络。 更多...
 
bool isNetworkSupported (INetworkDefinition const &network, IBuilderConfig const &config) const noexcept
 检查网络是否在 IBuilderConfig 设置的范围内。 更多...
 
ILoggergetLogger () const noexcept
 获取创建构建器时使用的 logger 更多...
 
bool setMaxThreads (int32_t maxThreads) noexcept
 设置最大线程数。 更多...
 
int32_t getMaxThreads () const noexcept
 获取构建器可以使用的最大线程数。 更多...
 
IPluginRegistrygetPluginRegistry () noexcept
 获取构建器可以使用的本地插件注册表。 更多...
 

受保护的属性

apiv::VBuilder * mImpl
 

附加的继承成员

- 继承自 nvinfer1::INoCopy 的受保护成员函数
 INoCopy ()=default
 
virtual ~INoCopy ()=default
 
 INoCopy (INoCopy const &other)=delete
 
INoCopyoperator= (INoCopy const &other)=delete
 
 INoCopy (INoCopy &&other)=delete
 
INoCopyoperator= (INoCopy &&other)=delete
 

详细描述

从网络定义构建引擎。

警告
不要从此类继承,因为这样做会破坏 API 和 ABI 的向前兼容性。

构造函数 & 析构函数文档

◆ ~IBuilder()

virtual nvinfer1::IBuilder::~IBuilder ( )
virtualdefaultnoexcept

成员函数文档

◆ buildEngineWithConfig()

nvinfer1::ICudaEngine * nvinfer1::IBuilder::buildEngineWithConfig ( INetworkDefinition network,
IBuilderConfig config 
)
inlinenoexcept

为给定的 INetworkDefinitionIBuilderConfig 构建网络。

参数
networkNetwork definition.
config构建器配置。
返回值
指向包含引擎的 ICudaEngine 对象的指针。
注意
此函数将在返回之前同步 config.getProfileStream() 返回的 CUDA 流。
此函数不支持 BuilderFlag::kVERSION_COMPATIBLE。请使用 buildSerializedNetwork 获取版本兼容的引擎。
另请参阅
INetworkDefinition, IBuilderConfig, ICudaEngine

◆ buildSerializedNetwork()

nvinfer1::IHostMemory * nvinfer1::IBuilder::buildSerializedNetwork ( INetworkDefinition network,
IBuilderConfig config 
)
inlinenoexcept

为给定的 INetworkDefinitionIBuilderConfig 构建并序列化网络。

此函数允许构建和序列化网络,而无需创建引擎。

参数
networkNetwork definition.
config构建器配置。
返回值
指向包含序列化网络的 IHostMemory 对象的指针。
注意
此函数将在返回之前同步 config.getProfileStream() 返回的 CUDA 流。
另请参阅
INetworkDefinition, IBuilderConfig, IHostMemory

◆ createBuilderConfig()

nvinfer1::IBuilderConfig * nvinfer1::IBuilder::createBuilderConfig ( )
inlinenoexcept

创建一个构建器配置对象。

另请参阅
IBuilderConfig

◆ createNetworkV2()

nvinfer1::INetworkDefinition * nvinfer1::IBuilder::createNetworkV2 ( NetworkDefinitionCreationFlags  flags)
inlinenoexcept

创建一个网络定义对象。

使用 flags 参数指定的不可变属性创建网络定义对象。

createNetworkV2 支持使用 NetworkDefinitionCreationFlags 中的属性创建网络。

CreateNetworkV2 默认支持动态形状和显式批次维度。

带有 NetworkDefinitionCreationFlag::kSTRONGLY_TYPED 标志的 createNetworkV2 支持创建强类型计划,其中张量数据类型从网络输入类型和运算符类型规范推断而来。

参数
flagsNetworkDefinitionCreationFlags 的位集,指定使用按位 OR 组合的网络属性。例如,1U << NetworkDefinitionCreationFlag::kSTRONGLY_TYPED
另请参阅
INetworkDefinition, NetworkDefinitionCreationFlags

◆ createOptimizationProfile()

nvinfer1::IOptimizationProfile * nvinfer1::IBuilder::createOptimizationProfile ( )
inlinenoexcept

创建一个新的优化配置文件。

如果网络有任何动态输入张量,则必须进行适当的 setDimensions() 调用。 同样,如果有任何形状输入张量,则需要适当的 setShapeValues() 调用。 构建器保留对创建的优化配置文件的所有权并返回原始指针,即用户不得尝试删除返回的指针。

另请参阅
IOptimizationProfile

◆ getErrorRecorder()

IErrorRecorder * nvinfer1::IBuilder::getErrorRecorder ( ) const
inlinenoexcept

获取分配给此接口的 ErrorRecorder。

检索给定类已分配的错误记录器对象。 如果尚未调用 setErrorRecorder,则将返回 nullptr。

返回值
指向已注册的 IErrorRecorder 对象的指针。
另请参阅
setErrorRecorder()

◆ getLogger()

ILogger * nvinfer1::IBuilder::getLogger ( ) const
inlinenoexcept

获取创建构建器时使用的 logger

返回值
logger

◆ getMaxDLABatchSize()

int32_t nvinfer1::IBuilder::getMaxDLABatchSize ( ) const
inlinenoexcept

获取 DLA 可以支持的最大批次大小。 对于任何张量,索引维度(CHW 以外的维度)的总量与请求的批次大小的乘积不应超过此函数返回的值。

警告
getMaxDLABatchSize 不适用于动态形状。

◆ getMaxThreads()

int32_t nvinfer1::IBuilder::getMaxThreads ( ) const
inlinenoexcept

获取构建器可以使用的最大线程数。

检索构建器可以使用的最大线程数。

返回值
构建器可以使用的最大线程数。
另请参阅
setMaxThreads()

◆ getNbDLACores()

int32_t nvinfer1::IBuilder::getNbDLACores ( ) const
inlinenoexcept

返回此构建器可用的 DLA 引擎数量。

◆ getPluginRegistry()

IPluginRegistry & nvinfer1::IBuilder::getPluginRegistry ( )
inlinenoexcept

获取构建器可以使用的本地插件注册表。

返回值
构建器可以使用的本地插件注册表。

◆ isNetworkSupported()

bool nvinfer1::IBuilder::isNetworkSupported ( INetworkDefinition const &  network,
IBuilderConfig const &  config 
) const
inlinenoexcept

检查网络是否在 IBuilderConfig 设置的范围内。

参数
network要检查配置合规性的网络定义。
config在检查 network 时要使用的构建器的配置。

给定一个 INetworkDefinitionnetwork,和一个 IBuilderConfigconfig,检查网络是否在基于 EngineCapability、BuilderFlag 和 DeviceType 的构建器配置约束范围内。 如果网络在约束范围内,则函数返回 true,如果发生违规,则返回 false。 此函数会将违反的条件报告给注册的 ErrorRecorder。

返回值
如果网络在构建器配置指定的限制范围内,则为 True,否则为 false。
注意
此函数将在返回之前同步 config.getProfileStream() 返回的 CUDA 流。

◆ platformHasFastFp16()

TRT_DEPRECATED bool nvinfer1::IBuilder::platformHasFastFp16 ( ) const
inlinenoexcept

确定平台是否具有快速原生 fp16 支持。

已弃用
在 TensorRT 10.5 中已弃用。 请直接从 CUDA 查询数据类型支持。

◆ platformHasFastInt8()

TRT_DEPRECATED bool nvinfer1::IBuilder::platformHasFastInt8 ( ) const
inlinenoexcept

确定平台是否具有快速原生 int8 支持。

已弃用
在 TensorRT 10.5 中已弃用。 请直接从 CUDA 查询数据类型支持。

◆ platformHasTf32()

TRT_DEPRECATED bool nvinfer1::IBuilder::platformHasTf32 ( ) const
inlinenoexcept

确定平台是否具有 TF32 支持。

已弃用
在 TensorRT 10.5 中已弃用。 请直接从 CUDA 查询数据类型支持。

◆ reset()

void nvinfer1::IBuilder::reset ( )
inlinenoexcept

将构建器状态重置为默认值。

◆ setErrorRecorder()

void nvinfer1::IBuilder::setErrorRecorder ( IErrorRecorder recorder)
inlinenoexcept

为此接口设置 ErrorRecorder。

将 ErrorRecorder 分配给此接口。 ErrorRecorder 将跟踪执行期间的所有错误。 此函数将至少调用一次已注册 ErrorRecorder 的 incRefCount。 将 recorder 设置为 nullptr 将取消注册接口的记录器,如果已注册记录器,则会导致调用 decRefCount。

如果未设置错误记录器,消息将发送到全局日志流。

参数
recorder要向此接口注册的错误记录器。
另请参阅
getErrorRecorder()

◆ setGpuAllocator()

void nvinfer1::IBuilder::setGpuAllocator ( IGpuAllocator allocator)
inlinenoexcept

设置 GPU 分配器。

参数
allocator设置构建器要使用的 GPU 分配器。 所有获取的 GPU 内存都将使用此分配器。 如果传递 NULL,将使用默认分配器。

默认值:使用 cudaMalloc/cudaFree。

注意
此分配器将传递给通过构建器创建的任何引擎; 因此,分配器的生命周期必须跨越这些引擎以及构建器的生命周期。 如果传递 nullptr,将使用默认分配器。

◆ setMaxThreads()

bool nvinfer1::IBuilder::setMaxThreads ( int32_t  maxThreads)
inlinenoexcept

设置最大线程数。

参数
maxThreads构建器可以使用的最大线程数。
返回值
如果成功,则为 True,否则为 false。

默认值为 1,包括当前线程。 大于 1 的值允许 TensorRT 使用多线程算法。 小于 1 的值会触发 kINVALID_ARGUMENT 错误。

成员数据文档

◆ mImpl

apiv::VBuilder* nvinfer1::IBuilder::mImpl
protected

此类文档从以下文件生成

  Copyright © 2024 NVIDIA Corporation
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 无障碍访问 | 公司政策 | 产品安全 | 联系我们