TensorRT 10.8.0
nvinfer1::IPluginRegistry 类参考抽象类

应用程序中所有插件的单一注册点。它用于在引擎反序列化期间查找插件实现。在内部,插件注册表被视为单例,因此应用程序中的所有插件都属于同一个全局注册表。请注意,插件注册表仅支持 IPluginV2 类型的插件,并且还应具有相应的 IPluginCreator 实现。更多...

#include <NvInferRuntimeCommon.h>

公共类型

using PluginLibraryHandle = void *
 插件库句柄的指针。更多...
 

公共成员函数

virtual TRT_DEPRECATED bool registerCreator (IPluginCreator &creator, AsciiChar const *const pluginNamespace) noexcept=0
 注册实现 IPluginCreator 的插件创建器。如果已注册具有相同名称、版本或命名空间的任何插件创建器,则返回 false。更多...
 
virtual TRT_DEPRECATED IPluginCreator *const * getPluginCreatorList (int32_t *const numCreators) const noexcept=0
 返回所有已注册的插件创建器以及已注册插件创建器的数量。如果未找到,则返回 nullptr。更多...
 
virtual TRT_DEPRECATED IPluginCreatorgetPluginCreator (AsciiChar const *const pluginName, AsciiChar const *const pluginVersion, AsciiChar const *const pluginNamespace="") noexcept=0
 根据插件名称、版本和在网络创建期间与插件关联的命名空间返回插件创建器。更多...
 
virtual void setErrorRecorder (IErrorRecorder *const recorder) noexcept=0
 为此接口设置 ErrorRecorder。更多...
 
virtual IErrorRecordergetErrorRecorder () const noexcept=0
 获取分配给此接口的 ErrorRecorder。更多...
 
virtual TRT_DEPRECATED bool deregisterCreator (IPluginCreator const &creator) noexcept=0
 注销先前注册的、实现 IPluginCreator 的插件创建器。更多...
 
virtual bool isParentSearchEnabled () const =0
 返回在此注册表中未找到插件时是否将搜索父注册表;默认值:true。更多...
 
virtual void setParentSearchEnabled (bool const enabled)=0
 设置在此注册表中未找到插件时是否将搜索父注册表。更多...
 
virtual PluginLibraryHandle loadLibrary (AsciiChar const *pluginPath) noexcept=0
 加载并注册插件的共享库。更多...
 
virtual void deregisterLibrary (PluginLibraryHandle handle) noexcept=0
 注销与库关联的插件。加载库时获取的任何资源都将被释放。更多...
 
virtual bool registerCreator (IPluginCreatorInterface &creator, AsciiChar const *const pluginNamespace) noexcept=0
 注册插件创建器。如果已注册具有相同类型的插件创建器,则返回 false。更多...
 
virtual IPluginCreatorInterface *const * getAllCreators (int32_t *const numCreators) const noexcept=0
 返回所有已注册的插件创建器。如果未找到,则返回 nullptr。更多...
 
virtual IPluginCreatorInterfacegetCreator (AsciiChar const *const pluginName, AsciiChar const *const pluginVersion, AsciiChar const *const pluginNamespace="") noexcept=0
 根据插件名称、版本和在网络创建期间与插件关联的命名空间返回已注册的插件创建器。更多...
 
virtual bool deregisterCreator (IPluginCreatorInterface const &creator) noexcept=0
 注销先前注册的插件创建器。更多...
 
virtual IPluginResourceacquirePluginResource (AsciiChar const *key, IPluginResource *resource) noexcept=0
 获取插件资源。更多...
 
virtual int32_t releasePluginResource (AsciiChar const *key) noexcept=0
 递减具有此键的资源的引用计数。如果递减后引用计数变为零,则将在资源上调用 release(),将注销键,并删除资源对象。更多...
 

受保护的成员函数

virtual ~IPluginRegistry () noexcept=default
 

详细描述

应用程序中所有插件的单一注册点。它用于在引擎反序列化期间查找插件实现。在内部,插件注册表被视为单例,因此应用程序中的所有插件都属于同一个全局注册表。请注意,插件注册表仅支持 IPluginV2 类型的插件,并且还应具有相应的 IPluginCreator 实现。

参见
IPluginV2IPluginCreator
警告
请勿从此类继承,因为这样做会破坏 API 和 ABI 的向前兼容性。
在汽车安全环境中,请务必调用 IPluginRegistry::setErrorRecorder() 以在注册表中使用其他方法之前向注册表注册错误记录器。

成员类型定义文档

◆ PluginLibraryHandle

插件库句柄的指针。

构造函数 & 析构函数文档

◆ ~IPluginRegistry()

virtual nvinfer1::IPluginRegistry::~IPluginRegistry ( )
protectedvirtualdefaultnoexcept

成员函数文档

◆ acquirePluginResource()

virtual IPluginResource * nvinfer1::IPluginRegistry::acquirePluginResource ( AsciiChar const *  key,
IPluginResource resource 
)
pure virtualnoexcept

获取插件资源。

参数
key用于标识资源的键。不能为空。
resource插件资源对象。该对象只需在方法返回之前有效,因为只有此对象的克隆将被 TRT 注册。不能为空。
返回值
已注册的插件资源对象


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是;对此方法的调用将通过互斥锁同步。

◆ deregisterCreator() [1/2]

virtual TRT_DEPRECATED bool nvinfer1::IPluginRegistry::deregisterCreator ( IPluginCreator const &  creator)
pure virtualnoexcept

注销先前注册的、实现 IPluginCreator 的插件创建器。

由于可能需要限制插件的数量,因此此函数提供了一种机制,用于删除在 TensorRT 中注册的插件创建器。由 creator 指定的插件创建器将从 TensorRT 中删除,并且不再被跟踪。

返回值
如果插件创建器已注销,则为 True;如果未在注册表中找到或由于其他原因无法注销,则为 false。


使用注意事项

◆ deregisterCreator() [2/2]

virtual bool nvinfer1::IPluginRegistry::deregisterCreator ( IPluginCreatorInterface const &  creator)
pure virtualnoexcept

注销先前注册的插件创建器。

由于可能需要限制插件的数量,因此此函数提供了一种机制,用于删除在 TensorRT 中注册的插件创建器。由 creator 指定的插件创建器将从 TensorRT 中删除,并且不再被跟踪。

返回值
如果插件创建器已注销,则为 True;如果未在注册表中找到或由于其他原因无法注销,则为 false。


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是

◆ deregisterLibrary()

virtual void nvinfer1::IPluginRegistry::deregisterLibrary ( PluginLibraryHandle  handle)
pure virtualnoexcept

注销与库关联的插件。加载库时获取的任何资源都将被释放。

参数
handle要注销的插件库句柄。

◆ getAllCreators()

virtual IPluginCreatorInterface *const * nvinfer1::IPluginRegistry::getAllCreators ( int32_t *const  numCreators) const
pure virtualnoexcept

返回所有已注册的插件创建器。如果未找到,则返回 nullptr。

警告
如果在调用此函数后注册或注销任何插件创建器,则不保证返回的指针在此后仍然有效。


使用注意事项

  • API 调用的允许上下文
    • 线程安全:否

◆ getCreator()

virtual IPluginCreatorInterface * nvinfer1::IPluginRegistry::getCreator ( AsciiChar const *const  pluginName,
AsciiChar const *const  pluginVersion,
AsciiChar const *const  pluginNamespace = "" 
)
pure virtualnoexcept

根据插件名称、版本和在网络创建期间与插件关联的命名空间返回已注册的插件创建器。

警告
字符串 pluginName、pluginVersion 和 pluginNamespace 必须小于或等于 1024 字节,包括 NULL 终止符,并且必须以 NULL 结尾。


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是

◆ getErrorRecorder()

virtual IErrorRecorder * nvinfer1::IPluginRegistry::getErrorRecorder ( ) const
pure virtualnoexcept

获取分配给此接口的 ErrorRecorder。

检索给定类别的已分配错误记录器对象。默认错误记录器不存在,因此如果未调用 setErrorRecorder,或者未继承 ErrorRecorder,则将返回 nullptr。

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


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是

◆ getPluginCreator()

virtual TRT_DEPRECATED IPluginCreator * nvinfer1::IPluginRegistry::getPluginCreator ( AsciiChar const *const  pluginName,
AsciiChar const *const  pluginVersion,
AsciiChar const *const  pluginNamespace = "" 
)
pure virtualnoexcept

根据插件名称、版本和在网络创建期间与插件关联的命名空间返回插件创建器。

警告
字符串 pluginName、pluginVersion 和 pluginNamespace 必须小于或等于 1024 字节,包括 NULL 终止符,并且必须以 NULL 结尾。
如果找到具有匹配名称、版本和命名空间的插件创建器,但不是 IPluginCreator 的后代,则返回 nullptr


使用注意事项

  • API 调用的允许上下文

    • 线程安全:是
    已弃用
    在 TensorRT 10.0 中已弃用。由 IPluginRegistry::getCreator(AsciiChar const* const, AsciiChar const* const, AsciiChar const* const) 取代。

◆ getPluginCreatorList()

virtual TRT_DEPRECATED IPluginCreator *const * nvinfer1::IPluginRegistry::getPluginCreatorList ( int32_t *const  numCreators) const
pure virtualnoexcept

返回所有已注册的插件创建器以及已注册插件创建器的数量。如果未找到,则返回 nullptr。

警告
如果在调用此函数后注册或注销任何插件创建器,则不保证返回的指针在此后仍然有效。


使用注意事项

  • API 调用的允许上下文

    • 线程安全:否
    已弃用
    在 TensorRT 10.0 中已弃用。由 IPluginRegistry::getAllCreators(int32_t* const) 取代。

◆ isParentSearchEnabled()

virtual bool nvinfer1::IPluginRegistry::isParentSearchEnabled ( ) const
pure virtual

返回在此注册表中未找到插件时是否将搜索父注册表;默认值:true。

返回值
指示是否启用父搜索的布尔变量。
参见
setParentSearchEnabled

◆ loadLibrary()

virtual PluginLibraryHandle nvinfer1::IPluginRegistry::loadLibrary ( AsciiChar const *  pluginPath)
pure virtualnoexcept

加载并注册插件的共享库。

参数
pluginPath插件库路径。
返回值
加载的插件库句柄。如果任何插件已注册,则调用将失败并返回 nullptr。

◆ registerCreator() [1/2]

virtual TRT_DEPRECATED bool nvinfer1::IPluginRegistry::registerCreator ( IPluginCreator creator,
AsciiChar const *const  pluginNamespace 
)
pure virtualnoexcept

注册实现 IPluginCreator 的插件创建器。如果已注册具有相同名称、版本或命名空间的任何插件创建器,则返回 false。

警告
字符串 pluginNamespace 必须小于或等于 1024 字节,包括 NULL 终止符,并且必须以 NULL 结尾。


使用注意事项

◆ registerCreator() [2/2]

virtual bool nvinfer1::IPluginRegistry::registerCreator ( IPluginCreatorInterface creator,
AsciiChar const *const  pluginNamespace 
)
pure virtualnoexcept

注册插件创建器。如果已注册具有相同类型的插件创建器,则返回 false。

警告
字符串 pluginNamespace 必须小于或等于 1024 字节,包括 NULL 终止符,并且必须以 NULL 结尾。


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是;对此方法的调用将通过互斥锁同步。

◆ releasePluginResource()

virtual int32_t nvinfer1::IPluginRegistry::releasePluginResource ( AsciiChar const *  key)
pure virtualnoexcept

递减具有此键的资源的引用计数。如果递减后引用计数变为零,则将在资源上调用 release(),将注销键,并删除资源对象。

参数
key用于注册资源的键。不能为空。
返回值
0 表示成功,否则为非零值


使用注意事项

  • API 调用的允许上下文
    • 线程安全:是;对此方法的调用将通过互斥锁同步。

◆ setErrorRecorder()

virtual void nvinfer1::IPluginRegistry::setErrorRecorder ( IErrorRecorder *const  recorder)
pure virtualnoexcept

为此接口设置 ErrorRecorder。

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

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


使用注意事项

  • API 调用的允许上下文
    • 线程安全:否

◆ setParentSearchEnabled()

virtual void nvinfer1::IPluginRegistry::setParentSearchEnabled ( bool const  enabled)
pure virtual

设置在此注册表中未找到插件时是否将搜索父注册表。

参数
enabled指示是否启用父搜索的布尔变量。
参见
isParentSearchEnabled

此类文档生成自以下文件

  版权所有 © 2024 NVIDIA Corporation
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 无障碍功能 | 公司政策 | 产品安全 | 联系方式