x

Course Info

LecturesMon & Wed 1:30-3:00 PM, G906 COOL
DiscussionFri 3:30-4:20 PM, G906 COOL
Web Pagehttp://www.eecs.umich.edu/courses/eecs570/
Canvashttp://canvas.umich.edu/
Piazzahttp://piazza.com/umich/fall2026/eecs570/home/
Lecture Recordings (on canvas)https://umich.instructure.com/courses/866739/external_tools/84605
InstructorSatish Narayanasamy
Email, URLnsatish /at/ umich.edu
Office4741 Beyster Bldg.
Office HoursTue 1:30-2:30 PM in 4741 Beyster Bldg.
GSIJonah Roenblum
Emailjonaher /at/ umich.edu
Office HoursTue & Thu: 10:30-11:30 AM in 4844 BBB and/or on Zoom
NoteOH will occasionally be Zoom only, which is tracked here.

EECS 570 will discuss foundations of multiprocessor architecture, including both the design and programming of such machines. We will read and discuss recent advancements in parallel architectures and processors. The course places particular emphasis on GPUs, ML accelerators, hardware multithreading, and network-on-chip (NoC) design, and covers memory hierarchies, cache coherence, and memory consistency models. In parallel programming, we will cover conventional shared-memory multithreading and synchronization mechanisms, as well as CUDA and other accelerator-oriented models that influence the design of future processors. There will be two programming assignments, two exams, a final research project, and quiz questions on the readings.

What knowledge does EECS 570 assume?

EECS 570 assumes that you can read and analyze recent papers published in top-tier computer architecture and systems conferences (ISCA, MICRO, ASPLOS, SOSP, OSDI). EECS 370 or equivalent should provide adequate preparation. The course is broadly accessible to students seeking to develop an understanding of parallel systems.