Skip to main content

CUDA Programming

A Developer's Guide to Parallel Computing with GPUs

CUDA Programming: A Developer's Guide to Parallel Computing with GPUs, Second Edition is a fully revised, updated, practical guide that provides a solid foundation for developer… Read more

Purchase options

Sorry, this title is not available for purchase in your country/region.

Early spring sale

Nurture your knowledge

Grow your expertise with up to 25% off trusted resources.

Description

CUDA Programming: A Developer's Guide to Parallel Computing with GPUs, Second Edition is a fully revised, updated, practical guide that provides a solid foundation for developers learning parallel programming with CUDA.

This guide iincludes updates that cover both the Kepler and Maxwell GPUs from NVIDIA, as well as the latest heterogeneous systems from AMD. Suitable for someone without a parallel programming background or previous CUDA experience, as well as those who already have dabbled in GPU programming, the contents range from installation and getting started, to building your own GPU workstation.

This revision includes a new chapter on visualizing data, and new content on the latest CUDA features including data caching, shared memory, and dynamic parallelism. Author Shane Cook also covers the latest host systems and changes to the installation process, NVIDIA’s Parallel NSight IDE, and hardware systems that run CUDA applications. The final new chapter looks ahead to future GPU platforms and releases including on-core ARM CPU and NVlink technologies.

Key features

  • Provides a solid foundation in how to program GPUs using in CUDA
  • Discusses multiple options such as libraries, OpenCL, OpenACC and other programming languages
  • Explains how to design and optimize code for several generations of GPUs and platforms
  • Covers the latest debugging and profiling tools

Readership

Professionals, researchers and upper-level students

Table of contents

  1. Introduction
  2. Understanding Parallelism with GPUs
  3. CUDA Hardware Overview
  4. Setting up CUDA
  5. Grids, Threads and Blocks
  6. Memory
  7. Using CUDA
  8. Multi-GPU
  9. Optimization
  10. Visualizing Data
  11. SDK and Libraries
  12. Building GPU Workstations
  13. Common Problems, Causes and solutions
  14. Future GPUs, the K1 GPU and Conclusion

Product details

About the author

SC

Shane Cook

Shane Cook is Technical Director at CUDA Developer, a consultancy company that helps companies exploit the power of GPUs by re-engineering code to make the optimal use of the hardware available. He formed CUDA Developer upon realizing the potential of heterogeneous systems and CUDA to disrupt existing serial and parallel programming technologies. He has a degree in Applied Software Engineering, specializing in the embedded software field. He has worked in senior roles with blue chip companies over the past twenty years, always seeking to help to develop the engineers in his team. He has worked on C programming standards including the MISRA Safer C used by widely in the automotive software community, and previously developed code for companies in the Germany automotive and defense contracting industries as well as Nortel and Ford Motor Company.
Affiliations and expertise
Technical Director, CUDA Developer, Munich, Germany