GstCUDA

From RidgeRun Developer Wiki


  Index Next: Features and Limitations





How to Get the Code



Info
x86 with discrete GPU support is now available!


GStreamer CUDA Overview

GstCUDA is a RidgeRun developed GStreamer plug-in enabling easy CUDA algorithm integration into GStreamer pipelines. GstCUDA offers a framework that allows users to develop custom GStreamer elements that execute any CUDA algorithm. The GstCUDA framework is a series of base classes abstracting the complexity of both CUDA and GStreamer. With GstCUDA, developers avoid writing elements from scratch, allowing the developer to focus on the algorithm logic, thus accelerating time to market.

GstCUDA offers a GStreamer plugin that contains a set of elements, that are ideal for GStreamer/CUDA quick prototyping. Those elements consist in a set of filters with different input/output pads combinations, that are run-time loadable with an external custom CUDA library that contains the algorithm to be executed on the GPU on each video frame that passes through the pipeline. GstCUDA plugin allows users to develop their own CUDA processing library, pass the library into the GstCUDA filter element that best adapts to the algorithm requirements, executes the library on the GPU, passing upstream frames from the GStreamer pipeline to the GPU to be processed and passing the modified frames downstream to the next element in the GStreamer pipeline. Those elements were created with the CUDA algorithm developer in mind - supporting quick prototyping and abstracting all GStreamer concepts. The elements are fully adaptable to different project needs, making GstCUDA a powerful tool that is essential for CUDA/GStreamer project development.

One remarkable feature of GstCUDA is that it provides a zero memory copy interface between CUDA and GStreamer on NVIDIA Jetson TX2/Nano/Xavier/Orin platforms. This enables heavy algorithms and large amounts of data (up to 2x 4K 60fps streams) to be processed on CUDA without the extra load performance caused by copies or memory conversions. GstCUDA provides the necessary APIs to directly handle NVMM buffers to achieve the best possible performance on Jetson TX2/Nano/Xavier/Orin platforms. It provides a series of base classes and utilities that abstract the complexity of handling memory interface between GStreamer and CUDA, so the developer can focus on what actually gives value to the end product. GstCUDA maximizes performance on GStreamer/CUDA applications on Jetson platforms.

GStreamer GstCUDA solves the developer's need to focus on the development of CUDA algorithms without having to worry about how to interface the algorithm with the application, how to inject and extract the data from the GPU, and how to ensure a good performance; because GstCUDA framework takes care of those important details.

GstCUDA Features for Image Stitching and Image Enhancement

The GstCUDA features make it the ideal framework for developing video/image processing applications, that requires to implement complex algorithms and actions such as image stitching, stereoscopic (3D) vision, image filtering/tracking/identification, 360° image/video, image blending, motion detection/estimation, depth calculation, etc. GstCUDA can be a very useful tool for a wide range of industry segments that require image processing, to mention some: Medical imaging, media/entertainment, security, automation, etc.

RidgeRun offers GstCUDA add-ons. Those consists of complete and ready to use elements that executes a specific CUDA algorithm that is integrated into the element code. Those add-on elements are based on the GstCUDA framework, and clearly show the potential of this framework being used to generate a world class performance product.

For technical questions or want help to develop the custom CUDA algorithm library please send an email to support@ridgerun.com or if you are interested in purchasing our software product, please post your inquiry at our Contact Us link.

GstCUDA Promotional Videos

GstCUDA: Product Overview



GstCUDA: Features Overview



RidgeRun's GstCUDA presentation at NVIDIA GTC 2019






For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.


Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.



  Index Next: Features and Limitations