Computer Science
>
>

CS 149 PARALLEL COMPUTING

Course Page

Overview

From smart phones, to multi-core CPUs and GPUs, to the world's largest supercomputers and web sites, 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 both parallel hardware and software design.

Prerequisites

CS110: Principles of Computer Systems is strong prerequisite for CS149. If you have not taken CS110 and feel like you have the background to take CS149, please contact your friendly instructors and let's talk it over.

Learning objectives

No data.

Textbooks and other notes

There is no required textbook for CS149. However, you may find the following textbooks helpful. However, in general these days there's plenty of great parallel programming resources available for free on the web.

John L. Hennessy and David A. Patterson

Computer Architecture, Sixth Edition: A Quantitative Approach. Morgan Kaufmann, 2017

[ On Amazon ]

Jason Sanders

CUDA by Example: An Introduction to General-Purpose GPU Programming. 1st Edition. Addison-Wesley. 2010

[ On Amazon ]

David Kirk and Wen-mei Hwu

Programming Massively Parallel Processors, Second Edition: A Hands-on Approach. 2nd Edition. Morgan Kauffmann. 2012

[ On Amazon ]

Other courses in Parallelism and Distributed Systems

CS 294-91 Distributed Computing

Winter 2013

UC Berkeley

CS 256 Formal Methods for Reactive Systems

Winter 2023

Stanford University

CSE 452 Distributed Systems

Winter 2022

University of Washington

Courseware availability

Lecture slides and readings available at Lectures/Readings

No videos available

Programming and written assignments available at Assignements

No other materials available

Covered concepts