JeremyJ · 2021年11月14日

【经验分享】TRT8 vs TRT7 接口增删汇总

欢迎关注我的公众号 [极智视界],回复001获取Google编程规范

本文汇集了一些 TRT8 对比 TRT7 增删的接口,可能不是并非完整。

TRT8 相对于 TRT7 的改动还是有一些,特别是 plugin 部分,以下记录一下。

1、移除的方法

  Core Library:

DimensionType
Dims::Type
class DimsCHW
class DimsNCHW
class IOutputDimensionFormula
class IPlugin
class IPluginFactory
class IPluginLayer
class IRNNLayer
IBuilder::getEngineCapability()
IBuilder::allowGPUFallback()
IBuilder::buildCudaEngine()
IBuilder::canRunOnDLA()
IBuilder::createNetwork()
IBuilder::getAverageFindIterations()
IBuilder::getDebugSync()
IBuilder::getDefaultDeviceType()
IBuilder::getDeviceType()
IBuilder::getDLACore()
IBuilder::getFp16Mode()
IBuilder::getHalf2Mode()
IBuilder::getInt8Mode()
IBuilder::getMaxWorkspaceSize()
IBuilder::getMinFindIterations()
IBuilder::getRefittable()
IBuilder::getStrictTypeConstraints()
IBuilder::isDeviceTypeSet()
IBuilder::reset()
IBuilder::resetDeviceType()
IBuilder::setAverageFindIterations()
IBuilder::setDebugSync()
IBuilder::setDefaultDeviceType()
IBuilder::setDeviceType()
IBuilder::setDLACore()
IBuilder::setEngineCapability()
IBuilder::setFp16Mode()
IBuilder::setHalf2Mode()
IBuilder::setInt8Calibrator()
IBuilder::setInt8Mode()
IBuilder::setMaxWorkspaceSize()
IBuilder::setMinFindIterations()
IBuilder::setRefittable()
IBuilder::setStrictTypeConstraints()
ICudaEngine::getWorkspaceSize()
IMatrixMultiplyLayer::getTranspose()
IMatrixMultiplyLayer::setTranspose()
INetworkDefinition::addMatrixMultiply()
INetworkDefinition::addPlugin()
INetworkDefinition::addPluginExt()
INetworkDefinition::addRNN()
INetworkDefinition::getConvolutionOutputDimensionsFormula()
INetworkDefinition::getDeconvolutionOutputDimensionsFormula()
INetworkDefinition::getPoolingOutputDimensionsFormula()
INetworkDefinition::setConvolutionOutputDimensionsFormula()
INetworkDefinition::setDeconvolutionOutputDimensionsFormula()
INetworkDefinition::setPoolingOutputDimensionsFormula()
ITensor::getDynamicRange()
TensorFormat::kNHWC8
TensorFormat::NCHW
TensorFormat::kNC2HW2

   Plugins:

class INvPlugin
createLReLUPlugin()
createClipPlugin()
PluginType
struct SoftmaxTree
基于 IPluginV2DynamicExt and IPluginV2IOExt的方法

  不再支持的 Plugin 方法:

IPluginV2DynamicExt::canBroadcastInputAcrossBatch()
IPluginV2DynamicExt::isOutputBroadcastAcrossBatch()
IPluginV2DynamicExt::getTensorRTVersion()
IPluginV2IOExt::configureWithFormat()
IPluginV2IOExt::getTensorRTVersion()

  支持更新后的 Plugin 方法:

IPluginV2DynamicExt::configurePlugin()
IPluginV2DynamicExt::enqueue()
IPluginV2DynamicExt::getOutputDimensions()
IPluginV2DynamicExt::getWorkspaceSize()
IPluginV2IOExt::configurePlugin()
 
IPluginV2DynamicExt::supportsFormatCombination() 代替 IPluginV2DynamicExt::supportsFormat()
IPluginV2IOExt::supportsFormatCombination() 代替 IPluginV2IOExt::supportsFormat()

   Caffe Parser:

class IPluginFactory
class IPluginFactoryExt
setPluginFactory()
setPluginFactoryExt()

   UFF Parser:

class IPluginFactory
class IPluginFactoryExt
setPluginFactory()
setPluginFactoryExt()

2、添加的新方法

class IDequantizeLayer
class IQuantizeLayer
class ITimingCache
IBuilder::buildSerializedNetwork()
IBuilderConfig::getTimingCache()
IBuilderConfig::setTimingCache()
IGpuAllocator::reallocate()
INetworkDefinition::addDequantize()
INetworkDefinition::addQuantize()
INetworkDefinition::setWeightsName()
IPluginRegistry::deregisterCreator()
IRefitter::getMissingWeights()
IRefitter::getAllWeights()
IRefitter::setNamedWeights()
IResizeLayer::getCoordinateTransformation()
IResizeLayer::getNearestRounding()
IResizeLayer::getSelectorForSinglePixel()
IResizeLayer::setCoordinateTransformation()
IResizeLayer::setNearestRounding()
IResizeLayer::setSelectorForSinglePixel()
IScaleLayer::setChannelAxis()
enum ResizeCoordinateTransformation
enum ResizeMode
BuilderFlag::kSPARSE_WEIGHTS
TacticSource::kCUDNN
TensorFormat::kDLA_HWC4
TensorFormat::kDLA_LINEAR
TensorFormat::kHWC16

   以上分享了一些 TRT8 对比 TRT7 接口变化的一些信息,希望我的分享会对你的开发有一点帮助。

【公众号传送】
【经验分享】TRT8 vs TRT7 接口增删汇总

推荐阅读
关注数
5
内容数
25
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息