Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1735688.1735703acmotherconferencesArticle/Chapter ViewAbstractPublication PagesgpgpuConference Proceedingsconference-collections
research-article

Accelerating MATLAB Image Processing Toolbox functions on GPUs

Published: 14 March 2010 Publication History

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.

References

[1]
H. Breu et. al., Linear Time Euclidean Distance Transform Algorithms, The Insight Journal, 2006.
[2]
N. Cuntz and Andreas Kolb, Fast Hierarchical 3D Distance Transforms on the GPU, EUROGRAPHICS 2007.
[3]
P. Danielson, Euclidean distance mapping", Comput. Graph. Image Proc. 14, 227--248., 1980.
[4]
Y. Dotsenko et. al, Fast Scan Algorithms on Graphics Processors, ACM ICS 2008.
[5]
R. Fabbri, et al., 2D Euclidean Distance Transform Algorithms: A Comparative Survey, ACM Computing Surveys, 2008.
[6]
R. Floyd, L. Steinberg, An adaptive algorithm for spatial grayscale, Proceeding of the Society for Information Display, 1976.
[7]
A. Meijster, et al, A general algorithm for computing distance transforms in linear time, ISMM, 2000.
[8]
P. Metaxas, Parallel digital halftoning by error-diffusion, ACM International Conference Proceeding Series, 1995.
[9]
J. D. Owens, M. Houston, D. Luebke, S. Green, J. E. Stone, J. C. Phillips. GPU Computing. Proceedings of the IEEE, 2008.
[10]
G. Rong, T. Tan, Jump flooding in gpu with applications to Vornoi diagram and distance transform, ACM I3D, 2006.
[11]
T. Saito and J. Toriwaki, New algorithms for Euclidean distance transformations of an n-dimensional digitised picture with applications, Patt. Recog. 27, 11, 1551--1565., 1994.
[12]
J. Schneider et. al, GPU-Based Real-Time Discrete Euclidean Distance Transforms With Precise Error Bounds, VISAPP 2009.
[13]
S. Sengupta, M. Harris, Y. Zhang, J. Owens, Scan Primitives for GPU Computing, Graphics Hardware, 2007.
[14]
T. Stockham, High speed convolution and correlation with application to digital filtering, Digital Processing of Signals, McGraw-Hill, 1969.
[15]
https://sites.google.com/site/iptatiproject/
[16]
ATI Stream Computing User Guide, 2009.
[17]
ATI Radeon#8482; HD 5870 GPU Feature Summary, http://www.amd.com/us/products/desktop/graphics/ati-radeon-hd-5000/hd-5870/Pages/ati-radeon-hd-5870-specifications.aspx.
[18]
Jacket: a GPU engine for MATLAB, http://www.accelereyes.com, 2009.
[19]
MATLAB Acceleration. http://www.nvidia.com/object/matlab_acceleration.html
[20]
MATLAB MEX files guide, http://www.mathworks.com/support/tech-notes/1600/1605.html, 2009.
[21]
MATLAB plug-in for CUDA, http://developer.NVIDIA.com/object/MATLAB_cuda.html, 2009.
[22]
NVIDIA CUDA Programming Guide, Version 2.2, 2009
[23]
OpenCL - The open standard for parallel programming of heterogeneous systems, http://www.khronos.org/opencl/, 2009.

Cited By

View all
  • (2023)The Colourimetric Method for Mixing Time Measurement in Single-Use and Multi-Use Bioreactors—Methodology Overview and Practical RecommendationsEnergies10.3390/en1701022117:1(221)Online publication date: 31-Dec-2023
  • (2022)Plant diseases detection using artificial intelligenceApplication of Machine Learning in Agriculture10.1016/B978-0-323-90550-3.00007-2(173-190)Online publication date: 2022
  • (2022)High-throughput phenotyping: the latest research tool for sustainable crop production under global climate change scenariosSustainable Crop Productivity and Quality Under Climate Change10.1016/B978-0-323-85449-8.00003-8(313-381)Online publication date: 2022
  • Show More Cited By

Recommendations

Reviews

Sergei Gorlatch

Graphics processing units (GPUs) are powerful general-purpose accelerators that can make virtually every personal computer (PC) run as a parallel computer. Many projects try to exploit the remarkable computational power of GPUs for data-parallel computations in MATLAB. While these projects usually address MATLAB as a whole, Kong et al. claim that they have done some of the first work on parallelizing MATLAB functions for image processing. The authors describe their efforts on porting 12 functions for image processing to GPUs produced by NVIDIA and AMD. The studied functions are a representative subset of functions provided by the MATLAB Image Processing Toolbox (IPT). The authors introduce four algorithm classes, in order to differentiate the functions according to their possible degree of parallelization. For each algorithm class, they present detailed optimization strategies for GPU-based implementations of functions of the respective class, as well as experimental performance results. A major contribution of this paper is its consistent comparison of implementations for AMD and NVIDIA GPUs using open computing language (OpenCL). Many previous papers on GPU programming were restricted to a single architecture or programming model. The paper also describes hardware-specific challenges and implementation strategies, making it a useful source of practical advice for developers of GPU-based applications. The authors successfully create a set of high-quality GPU-based image processing functions. Depending on the algorithm class, the experimental results show promising speedup values when compared with non-GPU implementations. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
GPGPU-3: Proceedings of the 3rd Workshop on General-Purpose Computation on Graphics Processing Units
March 2010
124 pages
ISBN:9781605589350
DOI:10.1145/1735688
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CUDA
  2. GPGPU
  3. MATLAB
  4. OpenCL
  5. image processing

Qualifiers

  • Research-article

Funding Sources

Conference

GPGPU-3

Acceptance Rates

Overall Acceptance Rate 57 of 129 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2023)The Colourimetric Method for Mixing Time Measurement in Single-Use and Multi-Use Bioreactors—Methodology Overview and Practical RecommendationsEnergies10.3390/en1701022117:1(221)Online publication date: 31-Dec-2023
  • (2022)Plant diseases detection using artificial intelligenceApplication of Machine Learning in Agriculture10.1016/B978-0-323-90550-3.00007-2(173-190)Online publication date: 2022
  • (2022)High-throughput phenotyping: the latest research tool for sustainable crop production under global climate change scenariosSustainable Crop Productivity and Quality Under Climate Change10.1016/B978-0-323-85449-8.00003-8(313-381)Online publication date: 2022
  • (2020)Signal Detection and Enhancement for Seismic Crosscorrelation Using the Wavelet-Domain Kalman FilterSurveys in Geophysics10.1007/s10712-020-09620-6Online publication date: 17-Oct-2020
  • (2019)Fast differential box-counting algorithm on GPUThe Journal of Supercomputing10.1007/s11227-019-03030-1Online publication date: 17-Oct-2019
  • (2016)Qualitative and quantitative interpretation of SEM image using digital image processingJournal of Microscopy10.1111/jmi.12431264:1(102-124)Online publication date: 15-Jun-2016
  • (2016)GPU acceleration for phase retrieval for electromagnetic interference source image2016 Asia-Pacific International Symposium on Electromagnetic Compatibility (APEMC)10.1109/APEMC.2016.7523020(237-239)Online publication date: May-2016
  • (2016)A fast and flexible MRI system for the study of dynamic vocal tract shapingMagnetic Resonance in Medicine10.1002/mrm.2609077:1(112-125)Online publication date: 17-Jan-2016
  • (2015)Analysis of performance enhancement on graphic processor based heterogeneous architecture: A CUDA and MATLAB experiment2015 National Conference on Parallel Computing Technologies (PARCOMPTECH)10.1109/PARCOMPTECH.2015.7084519(1-5)Online publication date: Feb-2015
  • (2015)GPU implementation of linear morphological openings with arbitrary angleJournal of Real-Time Image Processing10.1007/s11554-012-0248-710:1(27-41)Online publication date: 1-Mar-2015
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media