Performance Engineering of Software Systems
Offered By: Massachusetts Institute of Technology via MIT OpenCourseWare
Course Description
Overview
Syllabus
1. Introduction and Matrix Multiplication.
2. Bentley Rules for Optimizing Work.
3. Bit Hacks.
4. Assembly Language & Computer Architecture.
5. C to Assembly.
6. Multicore Programming.
7. Races and Parallelism.
8. Analysis of Multithreaded Algorithms.
9. What Compilers Can and Cannot Do.
10. Measurement and Timing.
11. Storage Allocation.
12. Parallel Storage Allocation.
13. The Cilk Runtime System.
14. Caching and Cache-Efficient Algorithms.
15. Cache-Oblivious Algorithms.
16. Nondeterministic Parallel Programming.
17. Synchronization Without Locks.
18. Domain Specific Languages and Autotuning.
19. Leiserchess Codewalk.
20. Speculative Parallelism & Leiserchess.
21. Tuning a TSP Algorithm.
22. Graph Optimization.
23. High Performance in Dynamic Languages.
Taught by
Prof. Charles Leiserson and Prof. Julian Shun
Tags
Related Courses
Probabilistic Graphical Models 1: RepresentationStanford University via Coursera Computer Security
Stanford University via Coursera Intro to Computer Science
University of Virginia via Udacity Introduction to Logic
Stanford University via Coursera Internet History, Technology, and Security
University of Michigan via Coursera