M1: Introduction to CUDA Programming Model

This first module provides an introduction to the course and GPU programming. During this module you will also get familiar with the CUDA C Programming model.

Pre-recorded Lectures

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

The pre-recorded lectures are available here: M1 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:

  • 1.0 Using SLURM (Optional)

  • 1.1 CUDA Basics: Programming Model

  • 1.2 CUDA Basics: Memory Management

  • 1.3 CUDA Basics: Organizing Parallel Threads (Part 1)

  • 1.4 CUDA Basics: Organizing Parallel Threads (Part 2)

  • 1.5 CUDA Basics: Compilation, Restrictions, Errors, Device Management

Resources/Readings

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

    • Chapter 2

The slides presented in lecture and these videos are accessible on our Canvas Page. Click on the Files link and you then can download the m1.zip file. The slides will be accessible right before class.

Synchronous Session (In-Person Lecture)

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

  • Dates/Times
    • Tuesday March 25th @ 5:30pm-7:20pm

  • Session Outline
    • Course Logistics

    • Heterogenous Computer Architectures

    • Introduction to the CUDA C Programming Model

Assignment

Assignments are always due on Friday evenings.