Improving performance via mini-applications.

Paul Crozier, Heidi Thornquist, Robert W. Numrich, Alan W. Williams, Harold Edwards, Eric R. Keiter, Mahesh Rajan, James Willenbring, Douglas W. Doerfler, Michael A. Heroux · 2009

Application performance is determined by a combination of many choices: hardware platform, runtime environment, languages and compilers used, algorithm choice and implementation, and more. In this complicated environment, we find that the use of mini-applications - small self-contained proxies for real applications - is an excellent approach for rapidly exploring the parameter space of all these choices. Furthermore, use of mini-applications enriches the interaction between application, library and computer system developers by providing explicit functioning software and concrete performance results that lead to detailed, focused discussions of design trade-offs, algorithm choices and runtime performance issues. In this paper we discuss a collection of mini-applications and demonstrate how we use them to analyze and improve application performance on new and future computer platforms.

Read the paper · More papers on PaperTik