Chapter 20

CUDA Dynamic Parallelism

Chapter Outline

20.1 Background

20.2 Dynamic Parallelism Overview

20.3 Important Details

20.4 Memory Visibility

20.5 A Simple Example

20.6 Runtime Limitations

20.7 A More Complex Example

20.8 Summary

Reference

CUDA dynamic parallelism is an extension to the CUDA programming model enabling a CUDA kernel to create new thread grids by launching new kernels. Dynamic parallelism is introduced with the Kepler architecture, first appearing in the GK110 chip. In previous CUDA systems, kernels can only be launched from the host code. Algorithms that involved recursion, irregular loop structures, time-space variation, or other constructs that do not fit a flat, single level of parallelism needed to be implemented with ...

Get Programming Massively Parallel Processors, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.