15-418/15-618: Parallel Computer Architecture and Programming, Spring 2019
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.
- 18 February 2019.
Exercise 3 is available. It is due
on Friday, February 22. You will submit your solution via Gradescope.
- 15 February 2019.
Assignment 3 is available.
- 10 February 2019.
The due date for Assignment 2 has been shifted to Friday, February 15.
- 9 February 2019.
Exercise 2 solution is available.
- 4 February 2019.
Exercise 2 is available. It is due
on Friday, February 8. You will submit your solution via Gradescope.
- 2 February 2019.
Exercise 1 Solution is
available. We are grading exercises on a “completion” basis,
meaning that you will get full credit for the problem as long as you
make a credible effort to solve it. The good news is that you can get
full credit, even if you answer is wrong. The bad news is that you
cannot rely on our grading to determine whether your understanding of
the subject matter is correct. Please review the official solutions carefully.
- 30 January 2019.
Assignment 2 is available.
- 18 January 2019.
Exercise 1 is available. For
students already registered, it will be due on Friday, January 25.
For students currently on the waitlist, you can wait until you find
out if you will get into the class, and then submit your solution
by Friday, February 1. You will submit your solution via Gradescope. More information on that will be available next week.
- 14 January 2019.
Assignment 1 is available.
You do not need to be registered for the course to work on it or to submit your code and report.
- 14 January 2019.
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 23. 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 28).
- 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 28. Working on Assignment 1 will give you a good indication of our expectations for the course.
Prerequisites: 15-213 or equivalent (including 14-513, 15-513, 18-213, and 18-600)
||See the course syllabus for details (below is just a few overview bits).
||MWF 1:30-2:50 BH A51
|| 12 units
||There are four programming assignments, not evenly weighted. See
the assignments page for
||There will be two exams (in-class, closed-book).
||There will be six homework assignments.
||Piazza, office hours
| Office Hours