EU Regional School - Püschel Seminar
Prof. Dr. Markus Püschel - Optimal Performance Numerical Code: Challenges and Solutions
Department of Computer Science, ETH Zürich, Switzerland
The complexity of modern computing platforms has made it extremely difficult to write numerical code that achieves the best possible performance. Straightforward implementations in C based on algorithms that minimize the operations count often fall short in performance by at least one order of magnitude. The reason are the inherent limitations of compilers to optimize for deep memory hierarchies, vector instruction sets, and multiple cores. The goal of this short course is to explain the problem and techniques for performance optimization using matrix multiplication and the fast Fourier transform as examples. Finally, I will discuss program generators as a way to reduce the implementation and optimization effort.