CUDA ISP for NVIDIA Jetson: Performance

From RidgeRun Developer Connection
< CUDA ISP for NVIDIA Jetson
Revision as of 18:56, 22 March 2023 by Nmorua (talk | contribs) (GStreamer elements performance)
Jump to: navigation, search


  Index  






GStreamer elements performance

To measure the performance, we have used two of our GStreamer tools: GstShark and GstPerf.

For testing purposes, take into account the following points:

  • Maximun performance mode enabled: all cores and Jetson clocks enabled.
  • Jetpack 4.6
  • FPS is equal to 1/processing time

Jetson Xavier NX

In the following sections you will see the performance for each of the elements.

cudashift element

The following pipeline was used to measure the processing time and FPS for the cudashift element with an input image with 4K resolution coming from a camera sensor.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, format=rggb' ! cudashift shift=5 ! fakesink
Measurement (Average) Jetson Xavier NX
FPS 417
Processing time (seconds) 0.002396

cudadebayer element

RGB Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an RGB output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink
Measurement (Average) Jetson Xavier NX
FPS 238
Processing time (seconds) 0.0042

I420 Output

The following pipeline was used to measure the processing time and FPS for the cudadebayer element with an input image with 4K resolution coming from a camera sensor to an I420 output image.

GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! fakesink
Measurement (Average) Jetson Xavier NX
FPS 200
Processing time (seconds) 0.0050

cudaawb element

RGB Output

The following pipelines were used to measure the processing time and FPS for the cudaawb element with an RGB output image.

  • FPS: For this measurement, the pipeline used has a file with an image with 4K resolution.
gst-launch-1.0 filesrc location=image4k.jpg ! nvjpegdec ! imagefreeze ! nvvidconv ! queue ! cudaawb ! perf ! fakesink
  • Processing time: For this measurement, the pipeline used has as input animage with 4K resolution coming from a camera sensor. REMOVE FPS WITH FILE, FIX RGB OUTPUT.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 67
Processing time (seconds) 0.006327

I420 Output

The following pipelines were used to measure the processing time and FPS for the cudaawb element with an I420 output image.

  • FPS: For this measurement, the pipeline used has a file with an image with 4K resolution.
gst-launch-1.0 filesrc location=sample_4k.jpg ! nvjpegdec ! imagefreeze ! nvvidconv ! queue ! cudaawb ! 'video/x-raw, format=I420' ! perf ! fakesink
  • Processing time: For this measurement, the pipeline used has as input a image with 4K resolution coming from a camera sensor and outputs an I420 image.
GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" gst-launch-1.0 -ve v4l2src io-mode=userptr ! 'video/x-bayer, bpp=10, width=3840, height=2160' ! cudadebayer ! cudaawb ! 'video/x-raw, format=I420' ! fakesink

The results obtained:

Measurement (Average) Jetson Xavier NX
FPS 67
Processing time (seconds) 0.0047

Jetson Xavier AGX


  Index