9 July 2012 Combining high productivity and high performance in image processing using Single Assignment C on multi-core CPUs and many-core GPUs
Volkmar Wieser, Peter Haslinger, Filip Korzeniowski, Bernhard Moser, Clemens Grelck, Jing Guo, Robert Bernecky, Sven-Bodo Scholz
Author Affiliations +
Abstract
We address the challenge of parallelization development of industrial high-performance inspection systems comparing a conventional parallelization approach versus an auto-parallelized technique. Therefore, we introduce the functional array processing language Single Assignment C (SAC), which relies on a hardware virtualization concept for automated, parallel machine code generation for multi-core CPUs and GPUs. Additional software engineering aspects like programmability, productivity, understandability, maintainability, and resulting achieved gain in performance are discussed from the point of view of a developer. With several illustrative benchmarking examples from the field of image processing and machine learning, the relationship between runtime performance and efficiency of development is analyzed.
© 2012 SPIE and IS&T 0091-3286/2012/$25.00 © 2012 SPIE and IS&T
Volkmar Wieser, Peter Haslinger, Filip Korzeniowski, Bernhard Moser, Clemens Grelck, Jing Guo, Robert Bernecky, and Sven-Bodo Scholz "Combining high productivity and high performance in image processing using Single Assignment C on multi-core CPUs and many-core GPUs," Journal of Electronic Imaging 21(2), 021116 (9 July 2012). https://doi.org/10.1117/1.JEI.21.2.021116
Published: 9 July 2012
Lens.org Logo
CITATIONS
Cited by 7 scholarly publications.
Advertisement
Advertisement
RIGHTS & PERMISSIONS
Get copyright permission  Get copyright permission on Copyright Marketplace
KEYWORDS
Image processing

Computer programming

MATLAB

Anisotropic diffusion

Anisotropic filtering

Image filtering

Binary data

Back to Top