15-418/15-618: Parallel Computer Architecture and Programming, Spring 2021
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.
Prerequisites: 15-213 or equivalent (including 14-513, 15-513, 18-213, and 18-613)
||See the course syllabus for details (below are just a few overview bits).
||MWF 4:00-5:20 REO
|| 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 five homework assignments.
||Piazza, office hours