Parallel Computer Architecture and Programming (CMU 15-418/618)

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
Mon/Wed 1:30 - 2:50pm
Baker Hall A51 (Giant Eagle Auditorium)
Instructor: Kayvon Fatahalian
Spring 2014 Schedule
Jan 13
Jan 15
Assignment 1 out
Jan 20
No Class (CMU MLK holiday)
Jan 22
Jan 27
Assignment 1 due (on Jan 28th)
Jan 29
Assignment 2 out
Feb 3
Feb 5
Feb 10
Feb 12
Assignment 2 due (on Feb 13th)
Assignment 3 out (on Feb 13th)
Feb 17
Feb 19
Feb 24
Feb 26
Mar 3
Exam I
Assignment 3 due (on Mar 4th)
Mar 5
Assignment 4 out (Fri Mar 7)
Mar 10-14
Spring Break
Mar 17
Mar 19
Mar 24
Mar 26
Assignment 4 due (on Mar 27th)
Mar 31
Apr 2
Project Proposal Due (Fri April 4)
Apr 7
Apr 9
Apr 14
Apr 16
Project Checkpoint Due (Fri April 18)
Apr 21
Apr 23
Apr 28
Exam II
May 30
May 9
Final Projects Due
Assignments and Projects
due Jan 28Assignment 1: Analyzing Parallel Program Performance on a Quad-Core CPU
due Feb 13Assignment 2: A Simple Renderer in CUDA
due Mar 4Assignment 3: Two Algorithms, Many Cores
due Mar 27Assignment 4: A Simple, Elastic Web Server
weeklyGuidelines and Tips for Making Good Lecture Comments
due May 13Final Project / Parallelism Competition
(proposal due Apr 4)

Special thanks to NVIDIA Corporation for their equipment donation to support GPU-computing assignments and projects. Intel Corporation has also provided financial support for course development. 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. Alex Reece and Manish Burman developed the course web site. Solomon Boulos is now getting the credit he deserves.