Accelerating MATLAB Image Processing Toolbox functions on GPUs

  • Authors:
  • Jingfei Kong;Martin Dimitrov;Yi Yang;Janaka Liyanage;Lin Cao;Jacob Staples;Mike Mantor;Huiyang Zhou

  • Affiliations:
  • University of Central Florida;University of Central Florida;North Carolina State University;University of Central Florida;University of Central Florida;University of Central Florida;AMD;North Carolina State University

  • Venue:
  • Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.