• Jetson Nano
• DeepStream 5.0
• JetPack 4.4
• TensorRT 7.1
Hello fellow nvidia developers,
I have read the amazing documentations of “Deepstream”, “CUDA for Tegra” and “Gstreamer” but failed to grasp the key concepts of shared SoC DRAM management. As far as I understand even if the memory is the same Hardware-wise, the cache usage and addressing differs between
Pageable Host Memory,
Unified Memory and
Surface Array . I get that I should choose the memory type according to the process device, for example; Surface Array for Jetson iGPU operations. Please correct me if I am wrong so far.
So with these in mind I am trying to write a custom plugin for Deepstream and while inspecting the provided
gst-dsexample I have failed to understand which type of memory does
GstBuffer uses initially. Also I want to process frames on iGPU using OpenVX and I know OpenVX works on GPU but since I don’t know the initial memory type, I am clueless on how to pass frame data.
So basically my questions are : How to pass frame from GstBuffer to vximage while maximizing performance on iGPU? Do I need to use an EglImage instance or is an NvBufSurface instance?
I have also noticed concept of Zero-copy but I don’t know if that can be applied here.
Thanks in advance. :^)