M9: Introduction to GPGPU Programming & Parallel Programming in C & Python¶
In this final module, you we will explore a fully SIMD based parallel system known as a graphics processing unit. Specifically we explore how to program on these devices using the CUDA library. We will also explore parallel programming in two other languages: C and Python.
Pre-recorded Lectures¶
The pre-recorded lectures are available here: M9 Videos. You can also find the videos under the “Panopto” tab on the MPCS 52060 canvas site.
The lectures are a series of approx 5-20 minute videos divided into 5 sections:
9.0 - GPU Programming Overview
9.1 - Heterogeneous Computing & Vector Addition
9.2 - Single Integer Add
9.3 - SSH into Virtual Desk
9.4 - Running Cuda Program
9.5 - Cuda Blocks
9.6 - Threads and Blocks
The slides/code presented in these videos are accessible in the upstream repository under the m9/resources
directory. Please reachout to me if you do not have access to this repository.
Resources/Readings¶
Synchronous Session (In-person)¶
As a reminder here are the dates and times for the synchronous session for this module:
Dates/Times
- Dates/Times
Section 1: Wednesday May 25th @ 5:30pm-7:00pm
- Discussion Outline
Parallel Programming in Python and C
Course Recap
Assignment¶
Assignments are always due on Thursday evenings.
Project #3, see specification for due dates.