Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture by the instructor covers the optimization of software, focusing on improving program performance by maximizing cache hits and parallel scheduling optimizations. Topics include true/false sharing optimization, cache coherence, reducing true sharing with examples, and the impact of false sharing on performance. The lecture also delves into software tradeoffs, data padding solutions, and the importance of the locality principle in memory access. Additionally, it explores matrix multiplication locality, blocking for improved cache performance, and work distribution strategies like static, dynamic, and guided scheduling. The lecture concludes with insights on writing fast parallel programs, emphasizing the significance of access patterns, load balancing, loop optimizations, and functional parallelism.