[Paddle-TRT] fix memory leak and unsafe emb_norm plugin #24106
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
IPlugin*::initializeandIPlugin*::terminateshould be always implemented as a pair. Also, resources acquired inIPlugin*::initializeshould be released inIPlugin*::terminate. Otherwise, it causes memory leak.The all data members of cloned plugin must be set in
PluginV2::clone. The plugin only callsIPlugin*::initializeonce when creating ICudaEngine. The cloned plugin won't callIPlugin*::initializeafter IExecutionContext is created, but TensorRT may clone the plugin during the creation of IExecutionContext and use the cloned plugin to infer the model.Read https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#ipluginext to know more.