MPCS 52072 GPU Programming (Spring 2026)

Section 1
Instructor(s) Kenneth Samuels, Lamont (lamonts)
Location None
Meeting Times
Fulfills Core Systems Elective Specialization - High Performance Computing (HPC-2)

Syllabus

This course provides an introduction to programming for Graphics Processing Units (GPUs), primarily focusing on both the theoretical aspects and practical implementations for programming on them. With the increasing demand for high-performance computing, understanding how to leverage GPUs is becoming essential for various fields including machine learning, scientific computing, and computer graphics. Students will learn the fundamental principles of GPU architecture, which includes  GPU hardware structure, memory hierarchy, and execution model. Students will gain proficiency in writing GPU programs by using industry-standard frameworks such as CUDA and OpenCL. By the end of this course, students will know how to proficiently use GPU resources to accelerate the performance of a wide range of applications that require their computational power.

Course Prerequisites

Core Programming; knowledge of C programming

This is an advanced Core Systems class and we recommend that students take MPCS 51082 Introduction to Unix Systems or MPCS 52011 Introduction to Computer Systems before enrolling in this course.

Other Prerequisites

This course requires competency in Unix and Linux. If you attended the MPCS Unix Bootcamp you covered the required material. If you did not, please review the UChicago CS Student Resource Guide here: https://uchicago-cs.github.io/student-resource-guide/.

Course request information for non-MPCS students: https://masters.cs.uchicago.edu/student-resources/non-mpcs-student-course-requests/

Overlapping Classes

This class is scheduled at a time that does not conflict with any other classes this quarter.

Eligible Programs

MS in Computational Analysis in Public Policy (Year 2) MA in Computational Social Science (Year 2) Bx/MS in Computer Science (Option 2: Professionally-oriented - CS Majors) Bx/MS in Computer Science (Option 3: Profesionally-oriented - Non-CS Majors) Masters Program in Computer Science