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.
Type de document :
Article dans une revue
ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2015, 12 (1), pp.1 - 24. 〈10.1145/2724717〉
Liste complète des métadonnées

https://hal-uvsq.archives-ouvertes.fr/hal-01417214
Contributeur : Pablo De Oliveira Castro <>
Soumis le : jeudi 15 décembre 2016 - 14:05:51
Dernière modification le : mardi 6 mars 2018 - 12:17:26

Identifiants

Collections

Citation

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〉

Partager

Métriques

Consultations de la notice

67