The plugins belong in the nvinfer1::plugin namespace.
However some plugins were not only polluting the global namespace, but
were exposing the same function twice! Once in the global namespace and
once in the nvinfer1::plugin namespace. This fixes this by pushing
everything into the nvinfer1::plugin namespace.
Signed-off-by: Shuyue Lan <shuyuel@nvidia.com>
Signed-off-by: Rajeev Rao <rajeevrao@nvidia.com>
This graceful failure is needed to enable tests under `trt_mod_test`.
`PLUGIN_ASSERT` is used in many places inside plugin methods, most of
which are `noexcept` and do not contain try-catch blocks. So changing
`PLUGIN_ASSERT` would require a major refactor which is beyond
rel-8.4. Instead, this MR introduces `PLUGIN_VALIDATE` as a temporary
replacement for `PLUGIN_ASSERT` in places where it is required to enable
valid/invalid attribute tests (mostly `createPlugin` and plugin constructors).
i.e. `PLUGIN_VALIDATE` implements the expected behavior of `PLUGIN_ASSERT`
(throws) while `PLUGIN_ASSERT` still aborts.
Signed-off-by: samurdhi karunaratne <skarunaratne@nvidia.com>
Signed-off-by: Rajeev Rao <rajeevrao@nvidia.com>
- enable n-bit radix sort for NMS_TRT plugin
- implement NMSDynamic_TRT plugin and enable n-bit radix sort for it
- enable n-bit radix sort for BatchedNMS_TRT and BatchedNMSDynamic_TRT plugins
- fixed a bug in configurePlugin() method of BatchedNMS_TRT
- other minor fixes for BatchedNMS_TRT/BatchedNMSDynamic_TRT plugins
Signed-off-by: Rajeev Rao <rajeevrao@nvidia.com>