1. Introduction and Matrix Multiplication
1:00:202. Bentley Rules for Optimizing Work
1:20:103. Bit Hacks
1:18:544. Assembly Language & Computer Architecture
1:17:345. C to Assembly
1:21:306. Multicore Programming
1:16:467. Races and Parallelism
1:14:398. Analysis of Multithreaded Algorithms
1:17:34Lecture 9: What Compilers Can and Cannot Do (6.172)
1:18:46Lecture 10: Measurement and Timing (6.172)
1:21:28Lecture 11: Storage Allocation (6.172)
1:05:26Lecture 12: Parallel Storage Allocation (6.172)
1:17:21Lecture 13: The Cilk Runtime System (6.172)
1:21:47Lecture 14: Caching and Cache-Efficient Algorithms (6.172)
1:18:23Lecture 15: Cache-Oblivious Algorithms (6.172)
1:21:47Lecture 16: Nondeterministic Parallel Programming (6.172)
1:22:12Lecture 17: Synchronization Without Locks (6.172)
1:20:10Lecture 18: Domain Specific Languages and Autotuning (6.172)
1:11:22Lecture 20: Speculative Parallelism & Leiserchess (6.172)
1:23:03Lecture 21: Tuning a TSP Algorithm (6.172)
1:20:53Lecture 22: Graph Optimization (6.172)
1:18:40Lecture 16: Nondeterministic Parallel Programming (6.172)
This lecture examines nondeterministic parallel programming, focusing on atomicity implemented via mutexes, determinacy races, and data races. It also addresses deadlock scenarios, including the classic dining philosophers' problem.
MIT 6.172 Performance Engineering of Software Systems, Fall 2018
Instructor: Charles Leiserson
View the complete course: https://ocw.mit.edu/6-172F18
YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP63VIBQVWguXxZZi0566y7Wf
Lecture 15: Cache-Oblivious Algorithms (6.172)
Next · Lecture 17Lecture 17: Synchronization Without Locks (6.172)
Seminar notes & discussion
No public seminar notes on this lecture yet.
