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...
Main Author: | |
---|---|
Other Authors: | |
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 |