Binary analysis for attribution and interpretation of performance measurements on fully-optimized code

Modern scientific codes frequently employ sophisticated object-oriented design. In these codes, deep loop nests are often spread across multiple routines. To achieve high performance, such codes rely on compilers to inline routines and optimize loops. Consequently, to effectively interpret performan...

Full description

Bibliographic Details
Main Author: Tallent, Nathan Russell
Other Authors: Mellor-Crummey, John
Format: Others
Language:English
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/1911/20542
id ndltd-RICE-oai-scholarship.rice.edu-1911-20542
record_format oai_dc
spelling ndltd-RICE-oai-scholarship.rice.edu-1911-205422013-10-23T04:08:29ZBinary analysis for attribution and interpretation of performance measurements on fully-optimized codeTallent, Nathan RussellComputer ScienceModern scientific codes frequently employ sophisticated object-oriented design. In these codes, deep loop nests are often spread across multiple routines. To achieve high performance, such codes rely on compilers to inline routines and optimize loops. Consequently, to effectively interpret performance, transformed loops must be understood in the calling context of transformed routines. To understand the performance of optimized object-oriented code, we describe how to analyze optimized object code and its debugging sections to recover its program structure and reconstruct a mapping back to its source code. Using this mapping, we combine the recovered static program structure with dynamic call path profiles to expose inlined frames and loop nests. Experiments show that performance visualizations based on this information provide unique insight into the performance of complex object-oriented codes written in C++. This work is implemented in HPC-TOOLKIT, a performance analysis toolkit.Mellor-Crummey, John2009-06-03T21:06:23Z2009-06-03T21:06:23Z2007ThesisText101 p.application/pdfhttp://hdl.handle.net/1911/20542eng
collection NDLTD
language English
format Others
sources NDLTD
topic Computer Science
spellingShingle Computer Science
Tallent, Nathan Russell
Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
description Modern scientific codes frequently employ sophisticated object-oriented design. In these codes, deep loop nests are often spread across multiple routines. To achieve high performance, such codes rely on compilers to inline routines and optimize loops. Consequently, to effectively interpret performance, transformed loops must be understood in the calling context of transformed routines. To understand the performance of optimized object-oriented code, we describe how to analyze optimized object code and its debugging sections to recover its program structure and reconstruct a mapping back to its source code. Using this mapping, we combine the recovered static program structure with dynamic call path profiles to expose inlined frames and loop nests. Experiments show that performance visualizations based on this information provide unique insight into the performance of complex object-oriented codes written in C++. This work is implemented in HPC-TOOLKIT, a performance analysis toolkit.
author2 Mellor-Crummey, John
author_facet Mellor-Crummey, John
Tallent, Nathan Russell
author Tallent, Nathan Russell
author_sort Tallent, Nathan Russell
title Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
title_short Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
title_full Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
title_fullStr Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
title_full_unstemmed Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
title_sort binary analysis for attribution and interpretation of performance measurements on fully-optimized code
publishDate 2009
url http://hdl.handle.net/1911/20542
work_keys_str_mv AT tallentnathanrussell binaryanalysisforattributionandinterpretationofperformancemeasurementsonfullyoptimizedcode
_version_ 1716610255856599040