instructor: Joe Devietti
when: Tuesday/Thursday 10:15-11:45am
where: Towne 311
contact: email, canvas
office hours:
Graphics Processing Units (GPUs) have become extremely popular and are used to accelerate an increasingly diverse set of non-graphics workloads. This seminar will examine modern GPU architectures, the programming models used to write general-purpose code for GPUs, and the complexities of programming such highly parallel architectures. There will be a special emphasis on concurrency correctness issues as they relate to GPUs, including GPU memory consistency models and GPU concurrency bugs. Graduate-level coursework in computer architecture (e.g., CIS 5710) will be very helpful.
No textbooks are required; links to all readings will be provided at this website.
There will be no exams.
Submit homework, reading quizzes and future-work write-ups via Canvas.
The class project can be done in groups of up to 2. The project is open-ended: it should be something related to GPUs but the specifics are up to you. Choosing a project that incorporates your interests (research or otherwise) is a great idea!
This schedule is subject to change
Date | Topic | Presenter |
---|---|---|
Tue 30 Aug | Intro | Joe |
Thu 1 Sep | General-Purpose Graphics Processor Architectures (accessible via Penn VPN), Chapters 1 & 2 | Joe |
Tue 6 Sep | ” Sections 3.1 - 3.3 | Joe |
Thu 8 Sep | ” Section 3.4 - 3.6 | Joe |
Tue 13 Sep | ” Chapter 4 | Joe |
Thu 15 Sep | Real-world GPU design | Joe |
Tue 20 Sep | CUDA Programming Guide | Joe |
Thu 22 Sep | CUDA synchronization | Joe |
Tue 27 Sep | no class - Rosh Hoshana | |
Thu 29 Sep | A Primer on Memory Consistency and Cache Coherence, Chapters 3-5 (SC, TSO, RC) | Joe |
Tue 4 Oct | no class - Yom Kippur | |
Thu 6 Oct | no class - Fall Break | |
Tue 11 Oct | MCM Primer | Joe |
Thu 13 Oct | MCM Primer | Joe |
Tue 18 Oct | MCM Primer | Joe |
Thu 20 Oct | MCM Primer | Joe |
Tue 25 Oct | MCM Primer | Joe |
Thu 27 Oct | MCM Primer | Joe |
Tue 1 Nov | Heterogeneous-Race-Free Memory Models | Joe |
Thu 3 Nov | GPU concurrency: Weak Behaviours and Programming Assumptions slides | Joe |
Tue 8 Nov | no class - Election Day | |
Thu 10 Nov | Dynamic Warp Formation | Joe |
Tue 15 Nov | A Formal Analysis of the NVIDIA PTX Memory Consistency Model | Joe |
Thu 17 Nov | Cache Coherence for GPU Architectures | Joe |
Tue 22 Nov | Cache-Conscious Wavefront Scheduling | Shashank + Adwayt |
Thu 24 Nov | no class - Thanksgiving | |
Tue 29 Nov | SIMR: Single Instruction Multiple Request Processing for Energy-Efficient Data Center Microservices | Bhagath + Pranoti |
Thu 1 Dec | Understanding The Security of Discrete GPUs | Sumiran + Arjun |
Tue 6 Dec | GPUfs: integrating a file system with GPUs | Aaraddhya |
Thu 8 Dec | GPUnet: Networking Abstractions for GPU Programs | Shubhendra |