Skip to:Content
|
Bottom
Cover image for GPU programming in MATLAB
Title:
GPU programming in MATLAB
Personal Author:
Physical Description:
xvi, 302 pages : illustrations ; 25 cm
ISBN:
9780128051320
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010342756 T385 P57 2016 Open Access Book Book
Searching...

On Order

Summary

Summary

GPU programming in MATLAB is intended for scientists, engineers, or students who develop or maintain applications in MATLAB and would like to accelerate their codes using GPU programming without losing the many benefits of MATLAB. The book starts with coverage of the Parallel Computing Toolbox and other MATLAB toolboxes for GPU computing, which allow applications to be ported straightforwardly onto GPUs without extensive knowledge of GPU programming. The next part covers built-in, GPU-enabled features of MATLAB, including options to leverage GPUs across multicore or different computer systems. Finally, advanced material includes CUDA code in MATLAB and optimizing existing GPU applications. Throughout the book, examples and source codes illustrate every concept so that readers can immediately apply them to their own development.


Author Notes

Nikolaos Ploskas, Department of Chemical Engineering Carnegie Mellon University, USA.
Nikolaos Samaras, Department of Applied Informatics, School of Information Sciences, University of Macedonia, Greece


Table of Contents

About the Authorsp. xi
Forewordp. xiii
Prefacep. xv
Chapter 1 Introductionp. 1
1.1 Parallel Programmingp. 1
1.1.1 Introduction to Parallel Computingp. 1
1.1.2 Classification of Parallel Computersp. 5
1.1.3 Parallel Computers' Memory Architecturesp. 6
1.2 GPU Programmingp. 7
1.3 CUDA Architecturep. 8
1.4 Why GPU Programming in MATLAB? When to Use GPU Programming?p. 12
1.5 Our Approach; Organization of the Bookp. 17
1.6 Chapter Reviewp. 19
Chapter 2 Getting Startedp. 21
2.1 Hardware Requirementsp. 21
2.2 Software Requirementsp. 23
2.2.1 NVIDIA CUDA Toolkitp. 23
Windowsp. 23
Linuxp. 26
MAC OSp. 29
2.2.2 MATLABp. 31
Windowsp. 31
Linuxp. 32
MAC OSp. 33
2.3 Chapter Reviewp. 35
Chapter 3 Parallel Computing Toolboxp. 37
3.1 Product Description and Objectivesp. 37
3.2 Parallel For-Loops (partor)p. 39
3.3 Single Program Multiple Data (spmd)p. 52
3.4 Distributed and Codistributed Arraysp. 58
3.5 Interactive Parallel Development (pmode)p. 64
3.6 GPU Computingp. 65
3.7 Clusters and Job Schedulingp. 66
3.8 Chapter Reviewp. 70
Chapter 4 Introduction to GPU Programming in MATLABp. 71
4.1 GPU Programming Features in MATLABp. 71
4.2 GPU Arraysp. 72
4.3 Built-in MATLAB Functions for GPUsp. 80
4.4 Element-Wise MATLAB Code on GPUsp. 94
4.5 Chapter Reviewp. 107
Chapter 5 GPU Programming on MATLAB Toolboxesp. 109
5.1 Communications System Toolboxp. 109
5.2 Image Processing Toolboxp. 130
5.3 Neural Network Toolboxp. 134
5.4 Phased Array System Toolboxp. 156
5.5 Signal Processing Toolboxp. 161
5.6 Statistics and Machine Learning Toolboxp. 164
5.7 Chapter Reviewp. 169
Chapter 6 Multiple GPUsp. 171
6.1 Identify and Run Code on a Specific GPU Devicep. 171
6.2 Examples Using Multiple GPUsp. 179
6.3 Chapter Reviewp. 197
Chapter 7 Run CUDA or PTX Codep. 199
7.1 A Brief Introduction to CUDA Cp. 199
7.2 Steps to Run CUDA or PTX Code on a GPU
Through MATLABp. 203
7.3 Example: Vector Additionp. 212
7.4 Example: Matrix Multiplicationp. 215
7.5 Chapter Reviewp. 218
Chapter 8 MATLAB MEX Functions Containing CUDA Codep. 219
8.1 A Brief Introduction to MATLAB MEX Filesp. 219
8.2 Steps to Run MATLAB MEX Functions on GPUp. 224
8.3 Example: Vector Additionp. 233
8.4 Example: Matrix Multiplicationp. 236
8.5 Chapter Reviewp. 239
Chapter 9 CUDA-Accelerated Librariesp. 241
9.1 Introductionp. 241
9.2 CuBLASp. 242
9.3 CuFETp. 246
9.4 CuRANDp. 249
9.5 CuSOLVERp. 253
9.6 CuSPARSEp. 257
9.7 NPPp. 261
9.8 Thrustp. 265
9.9 Chapter Reviewp. 268
Chapter 10 Profiling Code and Improving GPU Performancep. 269
10.1 MATLAB Profilingp. 269
10.2 CUBA Profilingp. 283
10.3 Best Practices for Improving GPU Performancep. 288
10.4 Chapter Reviewp. 294
Referencesp. 295
List of Examplesp. 297
Indexp. 301
Go to:Top of Page