CUDA for Engineers An Introduction to High-Performance Parallel Computing

by ;
  • ISBN13:


  • ISBN10:


  • Edition: 1st
  • Format: Paperback
  • Copyright: 2015-11-02
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $44.99 Save up to $6.75
  • Buy New
    Add to Cart Free Shipping


Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


CUDA for Engineers gives you direct, hands-on engagement with personal, high-performance parallel computing, enabling you to do computations on a gaming-level PC that would have required a supercomputer just a few years ago.


The authors introduce the essentials of CUDA C programming clearly and concisely, quickly guiding you from running sample programs to building your own code. Throughout, you’ll learn from complete examples you can build, run, and modify, complemented by additional projects that deepen your understanding. All projects are fully developed, with detailed building instructions for all major platforms.


Ideal for any scientist, engineer, or student with at least introductory programming experience, this guide assumes no specialized background in GPU-based or parallel computing. In an appendix, the authors also present a refresher on C programming for those who need it.


Coverage includes

  • Preparing your computer to run CUDA programs
  • Understanding CUDA’s parallelism model and C extensions
  • Transferring data between CPU and GPU
  • Managing timing, profiling, error handling, and debugging
  • Creating 2D grids
  • Interoperating with OpenGL to provide real-time user interactivity
  • Performing basic simulations with differential equations
  • Using stencils to manage related computations across threads
  • Exploiting CUDA’s shared memory capability to enhance performance
  • Interacting with 3D data: slicing, volume rendering, and ray casting
  • Using CUDA libraries
  • Finding more CUDA resources and code


Realistic example applications include

  • Visualizing functions in 2D and 3D
  • Solving differential equations while changing initial or boundary conditions
  • Viewing/processing images or image stacks
  • Computing inner products and centroids
  • Solving systems of linear algebraic equations
  • Monte-Carlo computations


Author Biography

Duane Storti received his PhD in Theoretical & Applied Mechanics from Cornell University in 1984. Since then, he has served as a Professor of Mechanical Engineering at the University of Washington in Seattle. Prof. Storti has 35 years of experience in teaching and research in the areas of engineering mathematics, dynamics and vibrations, computer-aided design, 3D printing, and applied GPU computing. When not on campus, he can often be found in the volleyball gym, playing the role of Coach Duane.

Mete Yurtoglu received Bachelor’s degrees in Physics and Mechanical Engineering in 2008 and a Master of Science Degree in 2011 from Bogazici University in Istanbul, Turkey. He is currently a graduate student at the University of Washington-Seattle pursuing a Master’s of Science Degree in Applied Mathematics and a PhD in Mechanical Engineering. His research interests focus on GPU-based methods for computer vision and machine learning. Mete enjoys family time, playing soccer, and working out.

Table of Contents

1. Ready, Set, GO!
2. Fast Track from Serial to Parallel Computation with CUDA
3. Computing Values of a Function in Parallel - From Iterators to Indices
4. Parallelism in 2D
5. Simulating Dynamics in the Phase Plane
6. Simulating Heat Conduction
7. Interacting with 3D Data
8. Application: A Basic N-body Simulation
9. Where to From Here?
Appendix A. Getting Your CUDA System Up and Running
Appendix B. Need to Know C Programming
Appendix C. More CUDA Extensions of C/C++

Rewards Program

Write a Review