ImageDev

CUDA

This category describes the ImageDev algorithms GPU-accelerated with the CUDA Toolkit.

Overview

Most ImageDev algorithms are CPU parallelized. Taking advantage of these accelerations is transparent for the user and automatically managed by their default implementation.

In addition to CPU parallelization, ImageDev also offers a collection of algorithms that are optimized for GPU computing. These algorithms are built using the NVIDIA® CUDA® toolkit and are provided as separate implementations, prefixed by the Cuda keyword. The main motivations for having created new algorithms rather than automatically invoking the GPU implementations are: By providing both CPU and GPU-accelerated algorithms, ImageDev aims to offer users the flexibility to choose the most efficient and effective implementation based on their hardware resources and specific processing requirements.

Prerequisites

To execute any GPU-accelerated ImageDev algorithm, you need:

Tiling

If the image to be processed is large, ImageDev can process it tile by tile to reduce the GPU memory requirements. The tiling process is defined by a tiling mode and a size parameter. An overlap is deduced from the selected parameters and automatically set. For example, when applying an erosion of size 10 with tiling mode enabled, tiles are extracted with an overlap of 10 pixels.

The tiling step can be skipped by setting the tiling mode to NONE.