2013 · 11 citations · 8 references
EngineeringComputer ArchitectureSoftware EngineeringSource Code AnalysisIsolated CodeletsSoftware AnalysisFormal VerificationHardware SecuritySource-code IsolationParallel ComputingDynamic CompilationProfiling ToolComputer EngineeringComputer ScienceOptimizing CompilerStatic Program AnalysisProgram AnalysisSource-code Isolation FindsSoftware TestingParallel ProgrammingSource-code Isolation ViablePerformance PortabilitySystem Software
Source-code isolation finds and extracts the hotspots of an application as independent isolated fragments of code, called codelets. Codelets can be modified, compiled, run, and measured independently from the original application. Source-code isolation reduces benchmarking cost and allows piece-wise optimization of an application. Source-code isolation is faster than whole-program benchmarking and optimization since the user can concentrate only on the bottlenecks. This paper examines the viability of using isolated codelets in place of the original application for performance characterization and optimization. On the NAS benchmarks, we show that codelets capture 92.3% of the original execution time. We present a set of techniques for keeping codelets as faithful as possible to the original hotspots: 63.6% of the codelets have the same assembly as the original hotspots and 81.6% of the codelets have the same run time performance as the original hotspots.
8
An empirical study of FORTRAN programs
Donald E. Knuth · Software Practice and Experience · 1971 · 682 citations
The NAS parallel benchmarks---summary and preliminary results
David H. Bailey, Robert Schreiber, Horst D. Simon et al. · 1991 · 567 citations
LIKWID: Lightweight Performance Tools
Jan Treibig, Georg Hager, Gerhard Wellein · 2011 · 205 citations · Full text