TensorRT 10.8.0
nvinfer1::ITimingCache 类参考

用于处理从构建器收集的策略计时信息的类。 更多...

#include <NvInfer.h>

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

公共成员函数

virtual ~ITimingCache () noexcept=default
 
nvinfer1::IHostMemoryserialize () const noexcept
 将计时缓存序列化为 IHostMemory 对象。 更多...
 
bool combine (ITimingCache const &inputCache, bool ignoreMismatch) noexcept
 将输入计时缓存合并到本地实例。 更多...
 
bool reset () noexcept
 清空计时缓存。 更多...
 
int64_t queryKeys (TimingCacheKey *keyBuffer, int64_t capacity) const noexcept
 从计时缓存查询缓存键。 更多...
 
TimingCacheValue query (TimingCacheKey const &key) const noexcept
 查询缓存条目中的值。 更多...
 
bool update (TimingCacheKey const &key, TimingCacheValue const &value) noexcept
 更新缓存条目中的值。 更多...
 

保护属性

apiv::VTimingCache * 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
 

详细描述

用于处理从构建器收集的策略计时信息的类。

计时缓存由 IBuilderConfig 创建或初始化。它可以跨构建器实例共享,以减少构建器的实际运行时间。

警告
已知问题是,在所有情况下,相同的计时缓存可能无法保证稳定的引擎构建可重现性。
参见
IBuilderConfig

构造函数 & 析构函数文档

◆ ~ITimingCache()

virtual nvinfer1::ITimingCache::~ITimingCache ( )
virtualdefaultnoexcept

成员函数文档

◆ combine()

bool nvinfer1::ITimingCache::combine ( ITimingCache const &  inputCache,
bool  ignoreMismatch 
)
inlinenoexcept

将输入计时缓存合并到本地实例。

此函数允许将输入计时缓存中的条目合并到本地缓存对象中。

参数
inputCache输入计时缓存。
ignoreMismatch是否允许缓存验证头不匹配。
返回值
如果合并成功,则为 True,否则为 false。

将输入缓存中的条目追加到本地缓存。冲突的条目将被跳过。输入缓存必须由完全相同版本的 TensorRT 构建生成,否则合并将被跳过并返回 false。如果要合并从不同设备创建的计时缓存,则必须将 ignoreMismatch 设置为 true。

警告
合并从具有不同设备属性的设备生成的缓存可能会导致功能/性能错误!

◆ query()

TimingCacheValue nvinfer1::ITimingCache::query ( TimingCacheKey const &  key) const
inlinenoexcept

查询缓存条目中的值。

此函数查询特定缓存条目中的值。

参数
key查询键。
返回值
如果键存在,则为缓存值,否则为无效值。

查询给定缓存键的值。如果键存在,则写出该值,否则返回无效值。

◆ queryKeys()

int64_t nvinfer1::ITimingCache::queryKeys ( TimingCacheKey *  keyBuffer,
int64_t  capacity 
) const
inlinenoexcept

从计时缓存查询缓存键。

此函数查询条目计数并写出键。

参数
keyBuffer用于存储键的缓冲区。
capacity缓冲区的容量。
返回值
缓存中的条目计数,如果 keyBuffer 非空,则填充键。如果发生错误,将返回 -1。

查询缓存中的条目计数,并在提供 keyBuffer 时写出缓存键。任何超出 keyBuffer 容量的键条目将不会被复制。

◆ reset()

bool nvinfer1::ITimingCache::reset ( )
inlinenoexcept

清空计时缓存。

返回值
如果重置成功,则为 True,否则为 false。

◆ serialize()

nvinfer1::IHostMemory * nvinfer1::ITimingCache::serialize ( ) const
inlinenoexcept

将计时缓存序列化为 IHostMemory 对象。

此函数允许序列化当前计时缓存。

返回值
指向包含序列化计时缓存的 IHostMemory 对象的指针。
参见
IHostMemory

◆ update()

bool nvinfer1::ITimingCache::update ( TimingCacheKey const &  key,
TimingCacheValue const &  value 
)
inlinenoexcept

更新缓存条目中的值。

此函数更新特定缓存条目中的值。

参数
key要更新的条目的键。
value新的缓存值。
返回值
如果更新成功,则为 True,否则为 false。

更新给定缓存键的值。如果键不存在,则返回 false。如果键存在且新的策略计时为 NaN,则删除缓存条目并返回 true。如果策略计时不是 NaN 且新值有效,则覆盖缓存值并返回 true。当新值无效时,返回 False。如果此层无法使用新的策略,则在构建下一个引擎时将报告构建错误。

成员数据文档

◆ mImpl

apiv::VTimingCache* nvinfer1::ITimingCache::mImpl
protected

此类文档从以下文件生成

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