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 Sessions¶
You will find the links to the Zoom sessions on Canvas. As a reminder here are the dates and times for the zoom session for this module:
- Dates/Times
Section 1: Thursday December 2nd @ 4:00pm-5:20pm
- Discussion Outline
Parallel Programming in Python and C
Briefly review GPUGPU code from lectures (if time permits)
Assignment¶
Assignments are always due on Thursday evenings.
Homework #5, due Thursday December 2nd at 11:59pm CDT