15-418/15-618: Parallel Computer Architecture and Programming, Spring 2018
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
What's New?
- 5 May 2018.
Here is a list of the class project titles (pdf).
- 11 April 2018.
Here are the practice problems solutions (pdf) for Exam 2.
- 09 April 2018.
Here are some practice problems (pdf) for Exam 2. Solutions will be posted on Wednesday, April 11 after class.
- 02 April 2018.
Exercise 3 is now available. It is due on Friday, April 6 at 1:30pm.
- 28 March 2018.
Guidelines for the class project are now available. The project has multiple deadlines, culminating in a poster session on May 8, 1—4 pm.
- 26 March 2018.
Exercise 2 is now available. It is due on Friday, March 30 at 1:30pm.
- 19 March 2018.
Exercise 1 is the first in a set of three weekly exercises. Each of these will be handed out on a Monday and due on Friday at 1:30pm.
- 7 March 2018.
Assignment 4 is
ready to go. You will submit this assignment via Autolab (code) and via Gradescope (report).
- 27 February 2018.
Here are the
solutions (pdf) for the exam practice problems.
- 23 February 2018.
Here are some practice problems (pdf) for Exam 1. Solutions will be posted on Tuesday, Feb. 27.
- 14 February 2018.
Assignment 3 is
ready to go. You will submit this assignment via Autolab (code) and via Gradescope (report).
- 11 February 2018.
Change of plan regarding submitting Assignment 2:
You will submit the assignment via Autolab (code) and via Gradescope (report).
- 29 January 2018.
Assignment 2 is
ready to go. You will submit this assignment via Autolab.
- 26 January 2018 We have taken as many students off the
waitlist as the course resources (lecture room, staff, machines) can
handle.
- 17 January 2018.
Assignment 1 is
ready to go. You do not need to be registered for the course to work
on it or to submit your code and report.
- 16 January 2018.
We have a very large waiting list for the course. Our maximum enrollment is 144,
limited by the size of the lecture room. Our procedure for managing the waitlist will be as follows:
- Waitlisted students will have the opportunity to work on Assignment 1 and turn it in by 11:59pm Wednesday, January 24. Autolab accounts will not be needed.
- We will grade these assignments and register the top-performing students for the course by the add deadline (Monday, January 29).
- Performance on Assignment 1 will be the only factor in determining who gets off the waitlist.
- This is not a race.The order in which people submit their solutions will have no impact.
- Please do not contact the instructors in an attempt to circumvent this process.
- Meanwhile, if you are registered for the course but have doubts about your ability to complete the course, please drop it by January 29. Working on Assignment 1 will give you a good indication of our expectations for the course.
Prerequisites: 15-213, 15-513, 18-213, or 18-600
Getting Help
Course Materials
Course Information
For details |
See the course syllabus for details (below is just a few overview bits). |
Lectures |
MWF 1:30-2:50 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 |
http://www.cs.cmu.edu/~418 |
Questions |
Piazza, office hours |
Course Directory |
/afs/cs/academic/class/15418-s18/ |
Instructors
|