x

Course Info

LecturesMon & Wed 3:00-4:20 PM, 1670 BEYSTER
DiscussionFri 3:30-4:20 PM, 165 CHRYS
Web Pagehttp://www.eecs.umich.edu/courses/eecs570/
Canvashttp://canvas.umich.edu/
Piazzahttp://piazza.com/umich/winter2026/eecs570/home/
InstructorSatish Narayanasamy
Email, URLnsatish /at/ umich.edu
Office4741 BBB
Office HoursTue 11:00 AM - 12:00 PM in Office and on Zoom
GSITom Twomey
Emailttwomey /at/ umich.edu
Office HoursTue & Thu: 2:00-3:30 PM in BBB Atrium and on Zoom

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.