MATLAB is a widely used simulation tool for rapid prototyping and algorithm development. In many laboratories and research institutions, there is growing interest in running MATLAB codes faster for computationally heavy projects and leveraging the distributed parallelism of graphics processing units (GPUs). However, MATLAB users come from various backgrounds and do not necessarily have strong programming experience. Without guidance, those users may find their work delayed due to the learning curve of GPUs and the CUDA library. This book will target readers who have experience with MATLAB coding but don't have enough depth in either C coding or computer architecture. As a primer, the book starts with the basics, setting up MATLAB for CUDA (in Windows and Mac OSX), profiling, and then guiding users through advanced topics such as OpenACC, third-party CUDA libraries and debugging. It will also provide many practical ways to modify MATLAB codes to better use the computational power of GPUs. The authors have extensive experience developing algorithms using MATLAB, C++ and GPUs for huge datasets in industrial and research fields and integrating them into commercial software products. They have published more than a dozen papers on these subjects.
MATLAB is a widely used simulation tool for rapid prototyping and algorithm development. In many laboratories and research institutions, there is growing interest in running MATLAB codes faster for computationally heavy projects and leveraging the distributed parallelism of graphics processing units (GPUs). However, MATLAB users come from various backgrounds and do not necessarily have strong programming experience. Without guidance, those users may find their work delayed due to the learning curve of GPUs and the CUDA library. This book will target readers who have experience with MATLAB coding but don't have enough depth in either C coding or computer architecture. As a primer, the book starts with the basics, setting up MATLAB for CUDA (in Windows and Mac OSX), profiling, and then guiding users through advanced topics such as OpenACC, third-party CUDA libraries and debugging. It will also provide many practical ways to modify MATLAB codes to better use the computational power of GPUs. The authors have extensive experience developing algorithms using MATLAB, C++ and GPUs for huge datasets in industrial and research fields and integrating them into commercial software products. They have published more than a dozen papers on these subjects.
Speed up Matlab codes by leveraging the power of GPU computing.
Preface1. Accelerating MATLAB without GPU 2. Configurations for MATLAB and CUDA 3. Optimization Planning through Profiling4. CUDA coding with C-MEX5. MATLAB with Parallel Computing Toolbox6. Using CUDA-Accelerated Libraries 7. Example in Computer Graphics: 3D Surface Reconstruction using Marching Cubes 8. Example in 3D Image Processing: Atlas-based SegmentationAPPENDIX A.1 Download and install CUDA library A.2 Installing NVIDIA Nsight into Visual Studio
Jung W. Suh is a senior algorithm engineer and research scientist at KLA-Tencor. Dr. Suh received his Ph.D. from Virginia Tech in 2007 for his 3D medical image processing work. He was involved in the development of MPEG-4 and Digital Mobile Broadcasting (DMB) systems in Samsung Electronics. He was a senior scientist at HeartFlow, Inc., prior to joining KLA-Tencor. His research interests are in the fields of biomedical image processing, pattern recognition, machine learning and image/video compression. He has more than 30 journal and conference papers and 6 patents. Youngmin Kim is a staff software engineer at Life Technologies where he has been programming in the area that requires real-time image acquisition and high-throughput image analysis. His previous works involved designing and developing software for automated microscopy and integrating imaging algorithms for real time analysis. He received his BS and MS from the University of Illinois at Urbana-Champaign in electrical engineering. Since then he developed 3D medical software at Samsung and led a software team at the startup company, prior to joining Life Technologies.
"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."--Computing Reviews,July 2 2014
"Suh and Kim show graduate students and researchers in engineering,
science, and technology how to use a graphics processing unit (GPU)
and the NVIDIA company's Compute Unified Device Architecture (CUDA)
to process huge amounts of data without losing the many benefits of
MATLAB. Readers are assumed to have at least some experience
programming MATLAB, but not sufficient background in programming or
computer architecture for parallelization."--ProtoView.com,
February 2014
![]() |
Ask a Question About this Product More... |
![]() |