15-418/15-618: Parallel Computer Architecture and Programming, Fall 2026

Fall 2026
15-418/618 Lectures: MWF 09:30-10:50am, Baker Hall (BH) A51, Brian Railing, Dimitrios Skarlatos

From smart phones, to multi-core CPUs and GPUs, to the world's largest supercomputers, parallel processing is ubiquitous in modern computing. The goal of this course is to provide a deep understanding of the fundamental principles and engineering trade-offs involved in designing modern parallel computing systems as well as to teach parallel programming techniques necessary to effectively utilize these machines. Because writing good parallel programs requires an understanding of key machine performance characteristics, this course will cover hardware design and how that affects software design.

Course Syllabus


Prerequisites

15-213 (Introduction to Computer Systems) is a strict prerequisite. This course builds directly on that material, including memory hierarchies, memory management, and basic networking.

  • You are expected to be a strong C/C++ programmer: the course uses a variety of “C-like” parallel programming languages.
  • 18-447 (Introduction to Computer Architecture) is helpful, but not required.
  • Previous experience with operating systems (15-410), distributed systems (15-440), or compilers (15-411) may also prove helpful.

See the course syllabus for full details.

Waitlist and Assignment 1

Enrollment is capped by the size of the lecture room, so we expect a waiting list. If you are on it, Assignment 1 is how you get off it.

  • Waitlisted students are welcome to start Assignment 1 as soon as it is released on Friday 8/28. You do not need an Autolab account to begin work on it.
  • To be considered, submit by the early deadline, Thursday 9/3 (the regular deadline is Wednesday 9/9). We grade these submissions and register the top-performing students before the add deadline.
  • Performance on Assignment 1 is the primary factor in determining who comes off the waitlist.
  • This is not a race. The order in which solutions are submitted has little impact.
  • Please do not contact the instructors in an attempt to bypass this process.
  • If you are registered but have doubts about your ability to complete the course, please drop it before the add deadline. Working through Assignment 1 will give you a good indication of our expectations.

Getting Help

Ed https://edstem.org/us/courses/102588/discussion
Email Please use Ed for help, instead of email. Posts to Ed are private by default.
Office Hours

Course Materials

Schedule Lecture schedule and slides
Assignments Details of assignments, due dates, and policies
Exams Information about exams
Resources Additional course resources

Course Information

For details See the course syllabus for details (below is just a few overview bits).
Lectures MWF 09:30-10:50am, Baker Hall (BH) A51
Credit 12 units
Grading See syllabus
Assignments There are four programming assignments, not evenly weighted. See the assignments page for the breakdown.
Exams There will be two exams (in-class, closed-book).
Home https://www.cs.cmu.edu/afs/cs/academic/class/15418-f26/www/
Questions Ed, office hours
Course Directory /afs/cs/academic/class/15418-f26/

Instructors

Name Brian Railing Dimitrios Skarlatos
Contact bpr at cs dot cmu dot edu dskarlat at cs dot cmu dot edu
Office GHC 6005 GHC 9125
Office Hours TBD TBD