NERSCPowering Scientific Discovery for 50 Years

Cooperative Groups -- Part 9 of 9 CUDA Training Series, September 17, 2020

September 17, 2020


CUDA® is a parallel computing platform and programming model that extends C++ to allow developers to program GPUs with a familiar programming language and simple APIs.

NVIDIA will present a 9-part CUDA training series intended to help new and existing GPU programmers understand the main concepts of the CUDA platform and its programming model. Each part will include a 1-hour presentation and example exercises. The exercises are meant to reinforce the material from the presentation and can be completed during a 1-hour hands-on session following each lecture (for in-person participants) or on your own (for remote participants).  OLCF and NERSC will both be holding in-person events for each part of the series. Please see the topics of each part and dates here.

Part 9 of 9:  Cooperative Groups

Date and Time: 10 am - 12 pm (Pacific time), Thursday, September 17, 2020

The format of this event will be online only. Many parallel GPU algorithms require synchronization between threads. The CUDA programming model initially provided a model for synchronizing between threads in a threadblock, but not at any other scale. The cooperative groups model is a flexible model for thread synchronization both within and across thread blocks that enables a developer to write a wide range of parallel algorithms in a composable and well-defined manner. 

After the presentation, there will be a hands-on session where participants can complete example exercises meant to reinforce the presented concepts and get help from the experts.


Please register here.  This event is online only.

Presentation Materials 

  • Slides
  • Recording: TBA (to be posted shortly after the event)
  • Exercises: The example exercises for this module can be found in the "exercises/hw9" folder of this GitHub repo
  • Survey: Please help us to provide feedback by completing a 3-min short survey (access via the "Survey" tab located in the middle of this page)