9 July 2012 Combining high productivity and high performance in image processing using Single Assignment C on multi-core CPUs and many-core GPUs
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
Volkmar Wieser, Peter Haslinger, Filip Korzeniowski, Bernhard Moser, Clemens Grelck, Jing Guo, Robert Bernecky, 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 . Submission:
JOURNAL ARTICLE
14 PAGES


SHARE
Back to Top