M5: Advanced CUDA Concurrency

In this fifth module, we will focus on implementing concurrency at the grid level by using CUDA streams along with other ways to increase parallelism via uniform memory and dynamic parallelism.

Pre-recorded Lectures

Note: The pre-recorded videos for M5 will be posted after Wednesday’s lecture.

The pre-recorded lectures are available here: M5 Videos. You can also find the videos under the “Panopto” tab on the MPCS 52072 canvas site.

The lectures are a series of approx 20-30 minute videos divided into the following sections:

  • 5.1 - Unified Memory

  • 5.2 - Multi-GPUs

Resources/Readings

  • Programming Massively Parallel Processors: A Hands-on Approach
    • Chapter 13

All slide and code materials will be accessible via the course repository.

Synchronous Session (Remote Lecture)

As a reminder here are the dates and times for the synchronous session for this module:

Week 8

  • Dates/Times
    • Wednesday July 31st @ 5:30pm-7:20pm

  • Session Outline
    • Grid Concurrency

    • Streams and Events

    • Stream Callbacks

Week 9

  • Dates/Times
    • Wednesday August 7thg @ 5:30pm-7:20pm

  • Session Outline
    • Streams Code Examples and Callbacks

    • Dynamic Parallelism

    • Unified Memory

    • Course Recap

Assignment

  • Project #2, due Thursday August 8th at 11:59pm CDT

  • Project #3, due Thursday August 15th at 11:59pm CDT