InfoCoBuild

6.172 Performance Engineering of Software Systems

6.172 Performance Engineering of Software Systems (Fall 2018, MIT OCW). Instructors: Prof. Charles Leiserson and Prof. Julian Shun. 6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, and building scalable systems. The course programming language is C. (from ocw.mit.edu)

Lecture 01 - Introduction and Matrix Multiplication

Professor Leiserson introduces 6.172 Performance Engineering of Software Systems. The class examines an example of code optimization using matrix multiplication and discusses the differences between programming languages Python, Java, and C.


Go to the Course Home or watch other lectures:

Lecture 01 - Introduction and Matrix Multiplication
Lecture 02 - Bentley Rules for Optimizing Work
Lecture 03 - Bit Hacks
Lecture 04 - Assembly Language and Computer Architecture
Lecture 05 - C to Assembly
Lecture 06 - Multicore Programming
Lecture 07 - Races and Parallelism
Lecture 08 - Analysis of Multithreaded Algorithms
Lecture 09 - What Compilers can and cannot Do
Lecture 10 - Measurement and Timing
Lecture 11 - Storage Allocation
Lecture 12 - Parallel Storage Allocation
Lecture 13 - The Cilk Runtime System
Lecture 14 - Caching and Cache-Efficient Algorithms
Lecture 15 - Cache-Oblivious Algorithms
Lecture 16 - Non-deterministic Parallel Programming
Lecture 17 - Synchronization without Locks
Lecture 18 - Domain Specific Languages and Autotuning
Lecture 19 - Leiserchess Codewalk
Lecture 20 - Speculative Parallelism and Leiserchess
Lecture 21 - Tuning a TSP Algorism
Lecture 22 - Graph Optimization
Lecture 23 - High Performance in Dynamic Languages