Apan Qasem, Automatic Tuning of Scientific Applications

Over the last several decades we have witnessed tremendous change in the landscape of computer architecture. New architectures have emerge at a rapid pace with greater computing capabilities, that have often exceeded our expectations. However, the rapid rate of architectural innovations has also been a source of major concern for the high-performance community. Each new architecture or even a new model of a given architecture has brought with it new features that have added to the complexity of the target platform. As a result, it has become increasingly difficult to exploit the full potential of modern architectures for complex scientific applications. The gap between the theoretical peak and the actual achievable performance has increased with every step of architectural innovation. As we head towards the boundaries of Moore's Law and multicore platforms become more pervasive, this performance gap is likely to increase. The current practice in dealing with the changing nature of computer architecture and its ever increasing complexity is the laborious process of manual retargeting of code which often costs many person-months for just a single application. My talk will describe an automatic tuning strategy that aims to eliminate the need for manual retargeting and retuning of scientific applications. I will give a brief overview of our tuning framework and explain the core ideas behind our strategy of pruning the large and complex search space of optimization parameters.