I migrated plugins from TensorRT 4.0.x to TensorRT 5.0 RC. I found something different in plugins that not only need to realize IPluginExt new virtual funcs written in the guide.
- the uff parser may something different causing some error. Talking here https://devtalk.nvidia.com/default/topic/1042385/tensorrt/tensorrt-5-0rc-on-xavier-jetpack-4-0ea-vs-tensorrt-4-0ga-on-tx2-jetpack-3-3-/?offset=5#5289402
-
IPluginFactory create plugins.
In 5.0RC:
nvuffparser::IPluginFactory::createPlugin needs to new and delete by user.
But in nvinfer1::IPluginFactory::createPlugin for deserialization only needs to new plugin , and return the heap pointer. Do not care release here, or else cause a fault. It will done by RT engine?
In 4.0.x:
all createPlugin methods need to new and delete by user.This may be something strange in 5.0.
- In IPluginExt, func 'getOutputDimensions' in 5.0 RC are no longer called for all plugins. Only the first create one, the clone one will not call it. So I must move the init for dims to 'configureWithFormat' in which are still called by every plugin.
Finally I migrated plugins from TensorRT 4.0.x to TensorRT 5.0 RC.
I don’s sure about the reason. Is it right above?