Evaluating architecture and compiler design through static loop analysis

Yuriy Kashnikov, Pablo de Oliveira Castro, Emmanuel Oseret, William Jalby
2013 2013 International Conference on High Performance Computing & Simulation (HPCS)  
Using the MAQAO loop static analyzer, we characterize a corpus of binary loops extracted from common benchmark suits such as SPEC, NAS, etc. and several industrial applications. For each loop, MAQAO extracts low-level assembly features such as: integer and floating-point vectorization ratio, number of registers used and spill-fill, number of concurrent memory streams accessed, etc. The distributions of these features on a large representative code corpus can be used to evaluate compilers and
more » ... hitectures and tune them for the most frequently used assembly patterns. In this paper, we present the MAQAO loop analyzer and a characterization of the 4857 binary loops. We evaluate register allocation and vectorization on two compilers and propose a method to tune loop buffer size and stream prefetcher based on static analysis of benchmarks.
doi:10.1109/hpcsim.2013.6641465 dblp:conf/ieeehpcs/KashnikovCOJ13 fatcat:mc5rwflgivfszgivrhgj4tg4a4