Beyond simulation and algorithm development, many developers increasingly use MATLAB even for product deployment in computationally heavy fields. This often demands that MATLAB codes run faster by leveraging the distributed parallelism of Graphics Processing Units (GPUs). While MATLAB successfully provides high-level functions as a simulation tool for rapid prototyping, the underlying details and knowledge needed for utilizing GPUs make MATLAB users hesitate to step into it. Accelerating MATLAB with GPUs offers a primer on bridging this gap.
Starting with the basics, setting up MATLAB for CUDA (in Windows, Linux and Mac OS X) and profiling, it then guides users through advanced topics such as CUDA libraries. The authors share their experience developing algorithms using MATLAB, C++ and GPUs for huge datasets, modifying MATLAB codes to better utilize the computational power of GPUs, and integrating them into commercial software products. Throughout the book, they demonstrate many example codes that can be used as templates of C-MEX and CUDA codes for readers’ projects.
1. Cover image - p. Cover 2. Title page - p. Cover 3. Table of Contents - p. Cover 4. Copyright - p. Cover 5. Preface - p. IV 6. 1. Accelerating MATLAB without GPU - p. X 7. 2. Configurations for MATLAB and CUDA - p. 17 8. 3. Optimization Planning through Profiling - p. 44 9. 4. CUDA Coding with c-mex - p. 72 10. 5. MATLAB and Parallel Computing Toolbox - p. 97 11. 6. Using CUDA-Accelerated Libraries - p. 125 12. 7. Example in Computer Graphics - p. 155 13. 8. CUDA Conversion Example: 3D Image Processing - p. 191 14. Appendix 1. Download and Install the CUDA Library - p. 231 15. Appendix 2. Installing NVIDIA Nsight into Visual Studio - p. 238 16. Bibliography - p. 241 17. Index - p. 241
Beyond simulation and algorithm development, many developers increasingly use MATLAB even for product deployment in computationally heavy fields. This often demands that MATLAB codes run faster by leveraging the distributed parallelism of Graphics Processing Units (GPUs). While MATLAB successfully provides high-level functions as a simulation tool for rapid prototyping, the underlying details and knowledge needed for utilizing GPUs make MATLAB users hesitate to step into it. Accelerating MATLAB with GPUs offers a primer on bridging this gap.
Starting with the basics, setting up MATLAB for CUDA (in Windows, Linux and Mac OS X) and profiling, it then guides users through advanced topics such as CUDA libraries. The authors share their experience developing algorithms using MATLAB, C++ and GPUs for huge datasets, modifying MATLAB codes to better utilize the computational power of GPUs, and integrating them into commercial software products. Throughout the book, they demonstrate many example codes that can be used as templates of C-MEX and CUDA codes for readers’ projects.
1. Cover image - p. Cover 2. Title page - p. Cover 3. Table of Contents - p. Cover 4. Copyright - p. Cover 5. Preface - p. IV 6. 1. Accelerating MATLAB without GPU - p. X 7. 2. Configurations for MATLAB and CUDA - p. 17 8. 3. Optimization Planning through Profiling - p. 44 9. 4. CUDA Coding with c-mex - p. 72 10. 5. MATLAB and Parallel Computing Toolbox - p. 97 11. 6. Using CUDA-Accelerated Libraries - p. 125 12. 7. Example in Computer Graphics - p. 155 13. 8. CUDA Conversion Example: 3D Image Processing - p. 191 14. Appendix 1. Download and Install the CUDA Library - p. 231 15. Appendix 2. Installing NVIDIA Nsight into Visual Studio - p. 238 16. Bibliography - p. 241 17. Index - p. 241