Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.6
[.] DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
other
Target Operating System
[.] Linux
QNX
other
Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
[.] other
SDK Manager Version
1.9.2.10884
[.] other
Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
[.] other
I am using the NvMedia APIs for image processing. For example, I first use the Nvmedia2D APIs to convert the YUV422 image to YUV420, then use the NvmediaLDC APIs to do some distortion correction, and finally use the NvmediaJPEGEncode APIs to compress the image into JPEG format.
Due to the sample code , I need to do NvSciSyncWait between the operations above(Nvmedia2D/NvmediaLDC/NvmediaIJPE).However, using NvSciSync will significantly increase the processing time (reaching 60-70ms in the case of multiple cameras running in parallel), which is unacceptable.
perf stats: 10ms for one single pipeline,If 7 cameras are used in parallel, then each camera will take about 50ms to process.
When using NPPI library, I usually can use the same CUDA context for multiple image processing operations and only call cudaStreamSynchronize
once at the end. However, when using NvMedia, I found that it seems necessary to call NvSciSyncWait between each step, which makes the overall image processing time longer. Is there a way to avoid this and reduce the time consumed by synchronization?