15-418/15-618: Parallel Computer Architecture and Programming, Fall 2023
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, 15-513, 18-213, or 18-600, ...
||See the course syllabus for details (below is just a few overview bits).
||MWF 09:30-10:50am, Porter Hall 100
|| 12 units
||There are four programming assignments, not evenly weighted. See
the assignments page for
||There will be two exams (in-class, closed-book).
||Piazza, office hours