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 3:00 - 4:20pm
Doherty Hall A302
Instructor: Kayvon Fatahalian
Spring 2015 Schedule
Jan 12
Jan 14
Assignment 1 out
Jan 19
No Class (CMU MLK holiday)
Jan 21
Quiz 1 due (on Thu Jan 22)
Assignment 1 due (on Fri Jan 23)
Jan 26
Jan 28
Assignment 2 out
Feb 2
Feb 4
Quiz 2 due (on Fri Feb 6)
Feb 9
Feb 11
Assignment 2 due
Assignment 3 out (on Thu Feb 12)
Feb 16
Feb 18
Quiz 3 due (on Fri Feb 20)
Feb 23
Feb 25
Assignment 3 due (on Thu Feb 26)
Mar 2
Exam I
Mar 4
Mar 9-13
Spring Break. Partaaay!
Mar 16
Assignment 4 out (on Sun Mar 15)
Mar 18
Quiz 4 due (on Fri Mar 20)
Mar 23
Mar 25
Assignment 4 due (on Fri Mar 27)
Mar 30
Apr 1
Project Proposal Due (on Thu Apr 2)
Apr 6
Apr 8
Quiz 5 due (on Fri Apr 10)
Apr 13
Apr 15
Project Checkpoint Due (on Thu Apr 16)
Apr 20
Apr 22
Quiz 6 due (on Fri Apr 24)
Apr 27
Apr 29
May 11
4th Annual Parallelism Competition
Final Projects Due
Assignments and Projects
due Jan 23Assignment 1: Analyzing Parallel Program Performance on a Quad-Core CPU
due Feb 11Assignment 2: A Simple Renderer in CUDA
due Feb 26Assignment 3: Two Algorithms, Two Programming Models
due Mar 27Assignment 4: A Simple, Elastic Web Server
May 11Final Project / Parallelism Competition
weeklyGuidelines and Tips for Making Good Lecture Comments

Special thanks to the Intel Corporation, the NVIDIA Corporation, and to DELL for equipment donations and/or 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 for technical assistance with ISPC. Alex Reece, Manish Burman, and Cary Yang developed the course web site.