This Parallel Programming course, taught by Profs Hoefler and Solenthaler, was a well-taught and thoughtfully organized exploration of concurrent and parallel computing. The course is effectively split into two halves, covering foundational principles before moving on to more advanced, low-level concepts.

In the first half, led by Prof Solenthaler, the course laid the groundwork. While the initial pace felt a bit slow at times, I really appreciated the constant connections made to modern applications, research, and industry use cases. This practical context was extremely effective at grounding the theoretical material.

The second half of the course, taught by Prof Hoefler, picked up the pace and delved into more complex and intricate topics such as lock-free data structures, memory models, and transactional memory. This segment was taught exceptionally well, clearly explaining challenging concepts that are crucial for high-performance computing.

Overall, the blend of practical, real-world context in the first part and the deep dive into advanced concurrency mechanisms in the second made for a comprehensive and highly valuable learning experience.

Lecture Notes

Other Stuff


4 items under this folder.