Premium
Achieving accurate and context‐sensitive timing for code optimization
Author(s) -
Whaley R. Clint,
Castaldo Anthony M.
Publication year - 2008
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.884
Subject(s) - computer science , timer , supercomputer , context (archaeology) , key (lock) , kernel (algebra) , code (set theory) , program optimization , host (biology) , software , operating system , parallel computing , programming language , paleontology , ecology , mathematics , set (abstract data type) , combinatorics , compiler , wireless , biology
Key computational kernels must run near their peak efficiency for most high‐performance computing (HPC) applications. Getting this level of efficiency has always required extensive tuning of the kernel on a particular platform of interest. The success or failure of an optimization is usually measured by invoking a timer. Understanding how to build reliable and context‐sensitive timers is one of the most neglected areas in HPC, and this results in a host of HPC software that looks good when reported in the papers, but delivers only a fraction of the reported performance when used by actual HPC applications. In this paper, we motivate the importance of timer design and then discuss the techniques and methodologies we have developed in order to accurately time HPC kernel routines for our well‐known empirical tuning framework, ATLAS. Copyright © 2008 John Wiley & Sons, Ltd.