Title :
Generating Performance Bounds from Source Code
Author :
Narayanan, Sri Hari Krishna ; Norris, Boyana ; Hovland, Paul D.
Author_Institution :
Math. & Comput. Sci. Div., Argonne Nat. Lab., Argonne, IL, USA
Abstract :
Understanding and tuning the performance of complex applications on modern hardware are challenging tasks, requiring understanding of the algorithms, implementation, compiler optimizations, and underlying architecture. Many tools exist for measuring and analyzing the runtime performance of applications. Obtaining sufficiently detailed performance data and comparing it with the peak performance of an architecture are one path to understanding the behavior of a particular algorithm implementation. A complementary approach relies on the analysis of the source code itself, coupling it with a simplified architecture description to arrive at performance estimates that can provide a more meaningful upper bound than the peak hardware performance. We present a tool for estimating upper performance bounds of C/C++ applications through static compiler analysis. It generates parameterized expressions for different types of memory accesses and integer and floating-point computations. We then incorporate architectural parameters to estimate upper bounds on the performance of an application on a particular system. We present validation results for several codes on two architectures.
Keywords :
C++ language; program compilers; source coding; C-C++ applications; architectural parameters; architecture description; compiler optimizations; memory access; performance bound generation; source code; static compiler analysis; Computer architecture; Hardware; Kernel; Measurement; Registers; Runtime; Upper bound; Performance Bounds; Static Compiler Analysis;
Conference_Titel :
Parallel Processing Workshops (ICPPW), 2010 39th International Conference on
Conference_Location :
San Diego, CA
Print_ISBN :
978-1-4244-7918-4
Electronic_ISBN :
1530-2016
DOI :
10.1109/ICPPW.2010.37