Skip to Main content Skip to Navigation
Journal articles

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

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.
Complete list of metadatas
Contributor : Pablo de Oliveira Castro <>
Submitted on : Thursday, December 15, 2016 - 2:05:51 PM
Last modification on : Wednesday, October 14, 2020 - 4:20:48 AM

Links full text




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, Association for Computing Machinery, 2015, 12 (1), pp.1 - 24. ⟨10.1145/2724717⟩. ⟨hal-01417214⟩



Record views