RabbitFire

RabbitFire

RabbitFiretm  offers a parallel processing software solution that makes it easy to build or accelerate applications using stream based multiple cores processing.

  • Easily switch to parallel processing through the use of a practical and efficient framework
  • Deliver very high performance
  • Focus on processing while RabbitFiretm honors thread constraints and handles all data synchronization buffering …
  • Understand and optimize processing using a built in visual monitoring tool
  • Speed development by taking advantage of a library of existing video acquisition and processing functions
  • Build a complete run-time parallel system quickly without programming
Category:

Description

RabbitFiretm provides a simple and effective solution by significantly simplifying the process of building a parallel application.

RabbitFiretm is a parallel processing software that makes it easy for developers and non-developers to create or enhance applications that run on multiple cores / processors and dramatically improve performance.

RabbitFiretm makes it possible to understand and optimize image processing thanks to a visual monitoring tool.

More Info

The application of digital image processing is today extremely diversified: multimedia, digital television, satellite imagery, medical or military imagery, industrial vision, etc. These domains lead to many applications such as image database management, compression of still or moving images for storage or transmission, analysis and recognition of objects, etc … Any manipulation of images puts at stake a considerable volume of data, this one is related to the dimension of the images manipulated by application and increases when, to provide an element of interpretation, it is to have access to several consecutive images of a sequence. 

A conventional image processing chain comprises several processing levels of the image acquisition elements, then steps of filtering, extraction of parameters (contours, shapes, etc.) and, depending on the applications, steps of Going from the beginning of the chain to its end, the amount of processed data decreases, resulting in a significant decrease in the computing power required. At the same time, the complexity of algorithms is increasing. Requiring the user to modify this for each image manipulation.

Any image manipulation involves a considerable amount of data, so the image processing computation volume often exceeds the processing capacity of a conventional machine. The problem is even more pronounced in a real-time context (follow the video rate for example). Fortunately, several parallelization techniques can be applied to image processing algorithms.

The most commonly used approach is to distribute the image between the processors by storing each pixel of a sub-image in the same memory module. The image is thus divided into sub-images.

Speed can be increased by distributing individual processes (image processing algorithm steps) across multiple cores of the processor. However, this requires rewriting the algorithms in a form that allows this distribution.

RabbitFiretm uses a parallel pipeline approach that allows multiple instances (images) to be processed by multiple processors, taking into account the needs and / or restrictions of each of them.This approach offers the advantage of minimizing the burden and complication of the code. This however adds to the complexity due to the need to manage a variety of strategies, data synchronization and temporary storage.

RabbitFiretm provides a simple and effective solution that addresses these complexities by significantly simplifying the process of building a parallel application.

RabbitFiretm is a parallel processing software that makes it easy for developers and non-developers to create or enhance applications that run on multiple cores / processors and dramatically improve performance.

RabbitFiretm makes it possible to understand and optimize image processing thanks to a visual monitoring tool.

How RabbitFiretm Simplifies Parallel Processing

RabbitFiretm enables developers to run applications that process stream data, such as audio and video, on many processors simultaneously to dramatically boost performance.

Tech Info

Features include:

SDK—The RabbitFiretm SDK is a C/C++ API that delivers a parallel processing framework that uses pipelines to manage stream data. Developers can use the SDK to parallelize any function with minimal refactoring.

Extreme Performance—The solution is engineered for highest performance. It uses efficient low-level coding, lockless synchronization that avoids OS latency, and a zero-copy/zero-allocation strategy.

Mixed Strategies—When developers describe parallel processing strategies and constraints, RabbitFiretm automatically ensures safe access, synchronization and data buffering while honoring every thread-specific constraint, such as those required by the UI, third-party libraries, or GPU streaming and processing.

Video Function Libraries—We offer a library of video acquisition and processing functions that can be accessed through both the SDK and the Toolkit.

Monitoring Tool—The monitoring tools allows developers to analyze processing behavior and visually locate bottlenecks in order to optimize parallel application performance.

Toolkit—The toolkit is a custom scripting language that enables non developers to build a pipeline for parallel processing without the need for programming or recompiling code. Developers can also use the toolkit to benefit from predefined building blocks or to define new ones.

Contact us

    Reviews

    There are no reviews yet.

    Be the first to review “RabbitFire”

    Your email address will not be published. Required fields are marked *