Pegasus Accelerator for preprocessing

Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
native Ubuntu 18.04

Hi All,

  1. We would like to implement following operations pipe .
    CSI → images/video → debayer → scale → rotate -->output in memory
    a) What is best accelerator for this purpose ? Would VI or ISP do debayering ? If so - what are the relevant APIs - NvMedia ?
    b) if the output in memory is to be consumed by GPU - we need to use NVStreams or DW ImageStreamer ? What is difference between the two ? Which one would be more optimal ?

  2. We do not see all examples / samples on the pegasus systems shipped to us ? Could it be because it was not flashed with right version ? What can we do to get all official samples published for pegasus ?


Is this topic for Linux or QNX?

Thanks VickNV.
More of a HW accelerator question(s). But I will be happy to post on the forum that you recommend. There are quite a few of them - just to avoid future confusion could you please tell me which forum should I post this to ? Please help with link ?

Hi @ai.trucker,

ISP does debyering and scaling, 2D does rotation.
Yes, NvMedia are the APIs.
NvStreams libraries provide a way for sharing resources between libraries (e.g. NvMedia, CUDA, OpenGL).
dwImageStreamer is for conversion between different dwImageType.

If it’s installed DRIVE OS Linux, please check your version with below command.

cat /etc/nvidia/version-ubuntu-rootfs.txt

I’ll reply to this with a personal message.

Hello @VickNV
Is there a similar command to know what version of DriveWorks is currently installed in the system (if any)?
Thanks in advance

You can check with the command.

ls -l /usr/local/driveworks

1 Like

Thanks VickNV. If I understand you right - ISP will do debayering + scaling --(lets name this traffic as X)----> DDR memory then 2D reads from DDR memory --(lets name this traffic as Y)----> writes back rotated image - is that right ? If you notice X and Y is same data. Is there way to optimize traffic X and traffic Y by trapping them in system cache ? How big are system caches in Xavier and Orin (the tech specs do not give this info). Any cache management can help us in optimizing our large compute graphs where nodes are distributed over CPU, accelerators, and GPU.

SIPL Camera sample application also has 2D processing.
You can refer to it first.

Thanks VickNV. Which version of DriveOS does your Camera Sample application link refer to ? I could not infer from the doc. Our recent Xaviers (E550) do not seem to have this sample. Any idea what do we need to do to get right versions of the sample that you are referring to (this machine DOES NOT have SIPL sample code) ? This xavier machine that I am referring to shows -

cat /etc/nvidia/version-ubuntu-rootfs.txt

We have another pegasus machine from 2019 - which DO have similar example (however I am not sure if this would be right or recent version) -

**~/drive-t186ref-linux/samples/nvmedia/img_isp** $ pwd
**~/drive-t186ref-linux/samples/nvmedia/img_isp** $ cat /etc/nvidia/version-ubuntu-rootfs.txt

Furthermore, is this correct link to refer to for build purposes ?

You ticked 5.2.0 so I shared the link of the sample application in 5.2.0

You can find 5.2.0 at the top right corner of the link.

“Building the NvMedia Samples” section is for building the samples.

Thanks VickNV. We have another machine which shows -

cat /etc/nvidia/version-ubuntu-rootfs.txt

However we do not see all samples here.

**nvidia@pegasus3b** : **~/drive-t186ref-linux/samples** $ ll
total 12

drwxr-xr-x 3 nvidia nvidia 4096 Apr 7 17:58 **.** /
drwxr-xr-x 3 nvidia nvidia 4096 Apr 7 17:58 **..** /
drwxr-xr-x 2 nvidia nvidia 4096 Apr 7 17:58 **dds** /

I would like to work at 5.2.*. What would be good way to get the machine to state where we have all the official nvidia samples which matches version / compatibility with 5.2 ?

Could you help to create a separate topic for this?
Let’s not clutter not directly related things into this topic. Thanks a lot. 😊