Lecture Notes from Stanford CS149: Parallel Computing
I’ve been wondering where to put my notes from watching CS149: Parallel Computing, a Stanford course on parallel systems and performance, so I decided to collect them in a post instead. The course webpage can be found here. These notes cover the fundamental part of the course, spanning Lectures 1 through 7, and were created using Excalidraw:
- Lecture 1: Why Parallelism? Why Efficiency?
- Lecture 2: A Modern Multi-core Processor
- Lecture 3: Modern Multi-Core Architecture (Part II) + ISPC Programming Abstractions
- Lecture 4: Parallel Programming Basics
- Lecture 5: Performance Optimization I (Work Distribution and Scheduling)
- Lecture 6: Performance Optimization II (Locality, Communication, Contention)
- Lecture 7: GPU Architecture and CUDA Programming
Lecture 1

Lecture 2

Lecture 3

Lecture 4

Lecture 5

Lecture 6

Lecture 7
