Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
|Tallent, Nathan Russell
|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.
|THESIS COMP.SCI. 2007 TALLENT
|Tallent, Nathan Russell. "Binary analysis for attribution and interpretation of performance measurements on fully-optimized code." (2007) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/20542">https://hdl.handle.net/1911/20542</a>.
|Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
|Binary analysis for attribution and interpretation of performance measurements on fully-optimized code
|Master of Arts