Accelerating MATLAB Image Processing Toolbox functions on GPUs
School of Computer Science,University of Central Florida
ACM International Conference Proceeding Series Vol 425 (2010)
@conference{kong2010accelerating,
title={Accelerating MATLAB Image Processing Toolbox functions on GPUs},
author={Kong, J. and Dimitrov, M. and Yang, Y. and Liyanage, J. and Cao, L. and Staples, J. and Mantor, M. and Zhou, H.},
booktitle={Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units},
pages={75–85},
year={2010},
organization={ACM}
}
In this paper, we present our effort in developing an open-source GPU (graphics processing units) code library for the MATLAB Image Processing Toolbox (IPT). We ported a dozen of representative functions from IPT and based on their inherent characteristics, we grouped these functions into four categories: data independent, data sharing, algorithm dependent and data dependent. For each category, we present a detailed case study, which reveals interesting insights on how to efficiently optimize the code for GPUs and highlight performance-critical hardware features, some of which have not been well explored in existing literature. Our results show drastic speedups for the functions in the data-independent or data-sharing category by leveraging hardware support judiciously; and moderate speedups for those in the algorithm-dependent category by careful algorithm selection and parallelization. For the functions in the last category, fine-grain synchronization and data-dependency requirements are the main obstacles to an efficient implementation on GPUs.
November 5, 2010 by hgpu