CERE: LLVM Based Codelet Extractor and REplayer for Piecewise Benchmarking and Optimization - Archive ouverte HAL Access content directly
Journal Articles ACM Transactions on Architecture and Code Optimization Year : 2015

CERE: LLVM Based Codelet Extractor and REplayer for Piecewise Benchmarking and Optimization

(1) , (2) , , (2) , (2)
1
2

Abstract

This article presents Codelet Extractor and REplayer (CERE), an open-source framework for code isolation. CERE finds and extracts the hotspots of an application as isolated fragments of code, called codelets. Codelets can be modified, compiled, run, and measured independently from the original application. Code isolation reduces benchmarking cost and allows piecewise optimization of an application. Unlike previous approaches, CERE isolates codes at the compiler Intermediate Representation (IR) level. Therefore CERE is language agnostic and supports many input languages such as C, C++, Fortran, and D. CERE automatically detects codelets invocations that have the same performance behavior. Then, it selects a reduced set of representative codelets and invocations, much faster to replay, which still captures accurately the original application. In addition, CERE supports recompiling and retargeting the extracted codelets. Therefore, CERE can be used for cross-architecture performance prediction or piecewise code optimization. On the SPEC 2006 FP benchmarks, CERE codelets cover 90.9\% and accurately replay 66.3\% of the execution time. We use CERE codelets in a realistic study to evaluate three different architectures on the NAS benchmarks. CERE accurately estimates each architecture performance and is 7.3x to 46.6x cheaper than running the full benchmark.

Dates and versions

hal-01417214 , version 1 (15-12-2016)

Identifiers

Cite

Pablo de Oliveira Castro, Chadi Akel, Eric Petit, Mihail Popov, William Jalby. CERE: LLVM Based Codelet Extractor and REplayer for Piecewise Benchmarking and Optimization. ACM Transactions on Architecture and Code Optimization, 2015, 12 (1), pp.1 - 24. ⟨10.1145/2724717⟩. ⟨hal-01417214⟩
51 View
0 Download

Altmetric

Share

Gmail Facebook Twitter LinkedIn More