Is it possible to use CUDA streams from custom source and sink plugins to process transfer plugins like nvvideoconvert and nvinfer?
We are looking to process each buffer with the same cuda stream throughout the pipeline while conconcurrently processing the next buffer with a different stream. For example:
Hi, I do not see any cuda stream usage in deepstream-appsrc-test.
The only place in sample_apps where I see cuda stream usage is deepstream-3d-action-recognition, is this what you mean?
We are looking for the flexibility of deepstream without compromising performance, our existing app uses cuda streams for performance.
Suppose for example we are porting our application which uses opencv’s cuda::cvtColor, as you see below the last argument is an optional cuda stream. In deepstream it will use the nvvideoconvert plugin. Can we provide the plugin a cuda stream in the same way we do in opencv? What about other gpu-accelerated plugins in deepstream?
As I mentioned in deepstream we will replace cv::cuda::cvtColor with nvvideoconvert. As shown the cv::cuda::cvtColor function allows a cuda stream to process the color conversion.
Can deepstream allow the same, that is can deepstream allow a cuda stream to process the color conversion?
DeepStream has its own data format based on HW. Even DeepStream supports CUDA memory, but the data format is not compatible to opencv cuda. There is no interface to support it now.
DeepStream supports CUDA memory. There is sample of CUDA operation in the sample codes of /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-dsexample