
Accelerating MATLAB with GPU Computing
A Primer with Examples
Resources
Description
Key Features
- Shows how to accelerate MATLAB codes through the GPU for parallel processing, with minimal hardware knowledge
- Explains the related background on hardware, architecture and programming for ease of use
- Provides simple worked examples of MATLAB and CUDA C codes as well as templates that can be reused in real-world projects
Readership
Graduate students and researchers in a variety of fields, who need huge data processing without losing the many benefits of Matlab.
Table of Contents
Preface
Target Readers and Contents
Directions of this Book
1. Accelerating MATLAB without GPU
1.1 Chapter Objectives
1.2 Vectorization
1.3 Preallocation
1.4 For-Loop
1.5 Consider a Sparse Matrix Form
1.6 Miscellaneous Tips
1.7 Examples
2. Configurations for MATLAB and CUDA
2.1 Chapter Objectives
2.2 MATLAB Configuration for c-mex Programming
2.3 “Hello, mex!” using C-MEX
2.4 CUDA Configuration for MATLAB
2.5 Example: Simple Vector Addition Using CUDA
2.6 Example with Image Convolution
2.7 Summary
3. Optimization Planning through Profiling
3.1 Chapter Objectives
3.2 MATLAB Code Profiling to Find Bottlenecks
3.3 c-mex Code Profiling for CUDA
3.4 Environment Setting for the c-mex Debugger
4. CUDA Coding with c-mex
4.1 Chapter Objectives
4.2 Memory Layout for c-mex
4.3 Logical Programming Model
4.4 Tidbits of GPU
4.5 Analyzing Our First Naïve Approach
5. MATLAB and Parallel Computing Toolbox
5.1 Chapter Objectives
5.2 GPU Processing for Built-in MATLAB Functions
5.3 GPU Processing for Non-Built-in MATLAB Functions
5.4 Parallel Task Processing
5.5 Parallel Data Processing
5.6 Direct use of CUDA Files without c-mex
6. Using CUDA-Accelerated Libraries
6.1 Chapter Objectives
6.2 CUBLAS
6.3 CUFFT
6.4 Thrust
7. Example in Computer Graphics
7.1 Chapter Objectives
7.2 Marching Cubes
7.3 Implementation in MATLAB
7.4 Implementation in c-mex with CUDA
7.5 Implementation Using c-mex and GPU
7.6 Conclusion
8. CUDA Conversion Example: 3D Image Processing
8.1 Chapter Objectives
8.2 MATLAB Code for Atlas-Based Segmentation
8.3 Planning for CUDA Optimization Through Profiling
8.4 CUDA Conversion 1 - Regularization
8.5 CUDA Conversion 2 - Image Registration
8.6 CUDA Conversion Results
8.7 Conclusion
Appendix 1. Download and Install the CUDA Library
A1.1 CUDA Toolkit Download
A1.2 Installation
A1.3 Verification
Appendix 2. Installing NVIDIA Nsight into Visual Studio
Bibliography
Index
Product details
- No. of pages: 258
- Language: English
- Copyright: © Morgan Kaufmann 2013
- Published: November 18, 2013
- Imprint: Morgan Kaufmann
- eBook ISBN: 9780124079168
- Paperback ISBN: 9780124080805
About the Authors
Jung Suh

Affiliations and Expertise
Youngmin Kim
Affiliations and Expertise
Ratings and Reviews
There are currently no reviews for "Accelerating MATLAB with GPU Computing"