Computing Reviews

Accelerating MATLAB with GPU computing :a primer with examples
Suh J., Kim Y., Morgan Kaufmann Publishers Inc.,San Francisco, CA,2014. 258 pp.Type:Book
Date Reviewed: 07/02/14

MATLAB is one of the top choices for rapid prototyping, where high performance is usually not a crucial issue. Nevertheless, it is surely very desirable to improve the efficiency of a MATLAB simulation engine by properly exploiting the underlying hardware. This is particularly important now that this hardware is not necessarily located in a distant computing center, but is instead inside of a desktop computer.

MATLAB was, in the 1990s, a late adopter of parallel computing. Since then, its support for it has changed significantly. This is clearly reflected by the efforts devoted to its parallel computing toolbox. One of the recent additions to this toolbox is the support to accelerate MATLAB applications on graphics boards.

This book assumes very little experience in programming. It clearly exhibits, in a basic way, how a naive programmer may speed up MATLAB simulations significantly by using graphics boards and CUDA.

Eight chapters are included in the book. The first three are preparatory, and present the following topics in great detail: basic and generic practices to accelerate the execution of a program; an introduction to c-mex programming and certain details on configuring CUDA on MATLAB; and issues concerning profiling for CUDA.

The core of the book is in the next three chapters, which contain introductions to: CUDA programming through c-mex; related issues from MATLAB’s parallel computing toolbox; and usage of CUDA accelerated basic linear algebra subprograms (BLAS), fast Fourier transforms (FFTs), and standard template libraries (STL).

The last two chapters include two case studies from computer graphics and image processing.

This truly is a practical primer. It is well written and delivers what it promises. Its main contribution is that it will assist “naive” programmers in advancing their code optimization capabilities for graphics processing units (GPUs) without any agonizing pain. It will also expose them to CUDA GPU programming in a gentle and perhaps interesting way. It will even help them to accelerate the execution of some of their programs by an unexpectedly huge factor. However, it is difficult to judge how the approach adopted and the material contained in this book compare to the various related materials available on MATLAB’s site and beyond.

Finally, there are two minor issues. First, I am not convinced by the statements concerning the coverage of OpenCL given in the introduction. Second, in a future edition, I would love to see a couple of programming assignments at the end of each chapter.

More reviews about this item: Amazon

Reviewer:  E. Vavalis Review #: CR142462 (1410-0841)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy