Chapter 13

CUDA dynamic parallelism

Juan Gómez-Luna and Izzat El Hajj

Abstract

This chapter introduces CUDA dynamic parallelism, an extension to the CUDA programming model that enables a CUDA kernel to create new thread grids by launching new kernels. Dynamic parallelism allows algorithms that dynamically discover new work to prepare and launch kernels without burdening the host or resorting to complex software techniques. The chapter starts with a simple pattern that benefits from dynamic parallelism. It then presents the essential concepts required in the practical use of dynamic parallelism: memory data visibility, device configuration, memory management, synchronization, streams, and events. It then uses two advanced examples, Bezier Curve ...

Get Programming Massively Parallel Processors, 3rd 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.