Parallel Computer Architecture and Programming (CMU 15-418)

From smart phones, to multi-core CPUs and GPUs, to the world's largest supercomputers and web sites, 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 both parallel hardware and software design.

When We Meet
Tues/Thurs 9:00 - 10:20am
Baker Hall A51 (Giant Eagle Auditorium)
Instructor: Kayvon Fatahalian
Spring 2013 Schedule
Jan 15
Jan 17
Assignment 1 out
Jan 22
Jan 24
Assignment 1 due
Jan 29
Assignment 2 out
Jan 31
Feb 5
Feb 7
Feb 12
Assignment 2 due
Assignment 3 out
Feb 14
Feb 19
No class (students hack away blissfully on Assignment 3...)
Feb 21
Feb 26
Feb 28
Assignment 3 due
Mar 5
Exam I
Mar 7
Mar 11-15
Spring Break
Mar 19
Mar 21
Assignment 4 out
Mar 26
Mar 28
Apr 2
Apr 4
Assignment 4 due (Fri April 5)
Apr 9
Project Proposal Due (Wed April 10)
Apr 11
Apr 16
Apr 18
No class (Carnival: CMU holiday)
Apr 23
Apr 25
Project Checkpoint Due (Fri April 26)
Apr 30
Exam II
May 2
May 13
Final Projects Due
Assignments and Projects
due Jan 24Assignment 1: Analyzing Parallel Program Performance on a Quad-Core CPU
due Feb 12Assignment 2: A Simple Renderer in CUDA
due Feb 28Assignment 3: Wandering Salesperson
due Apr 5Assignment 4: A Simple, Elastic Web Server
weeklyGuidelines and Tips for Making Good Lecture Comments
 How to Write a Good Lecture Explanation
due May 13Final Project / Parallelism Competition Guidelines
(proposal due Apr 10, checkpoint due Apr 26, final writeup and presentation due on May 13.)

Special thanks to NVIDIA Corporation for their equipment donation to support GPU-computing assignments and projects. Intel Corporation has also provided financial support. Amazon provided an AWS Education Grant to support this course. Todd Mowry created the original version of 15-418 and much of the structure of his innovative course persists today. Thanks to Matt Pharr and Warren Hunt for technical assistance with ISPC. Solomon Boulos is now getting the credit he deserves.