Dynamic Re-Vectorization of Binary Code

Nabil Hallou 1 Erven Rohou 1 Philippe Clauss 2, 3, 4 Alain Ketterlin 4, 3, 2
1 ALF - Amdahl's Law is Forever
Inria Rennes – Bretagne Atlantique , IRISA-D3 - ARCHITECTURE
2 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : In many cases, applications are not optimized for the hardware on which they run. Several reasons contribute to this unsatisfying situation, including legacy code, commercial code distributed in binary form, or deployment on compute farms. In fact, backward compatibility of ISA guarantees only the functionality, not the best exploitation of the hardware. In this work, we focus on maximizing the CPU efficiency for the SIMD extensions and propose to convert automatically, and at runtime, loops vectorized for an older version of the SIMD extension to a newer one. We propose a lightweight mechanism, that does not include a vectorizer, but instead leverages what a static vectorizer previously did. We show that many loops compiled for x86 SSE can be dynamically converted to the more recent and more powerful AVX; as well as, how correctness is maintained with regards to challenges such as data dependences and reductions. We obtain speedups in line with those of a native compiler targeting AVX. The re-vectorizer is implemented inside a dynamic optimization platform; it is completely transparent to the user, does not require rewriting binaries, and operates during program execution.
Type de document :
Communication dans un congrès
International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation - SAMOS XV, Jul 2015, Agios Konstantinos, Greece
Liste complète des métadonnées

https://hal.inria.fr/hal-01155207
Contributeur : Philippe Clauss <>
Soumis le : mardi 26 mai 2015 - 11:56:00
Dernière modification le : mercredi 16 mai 2018 - 11:23:28

Identifiants

  • HAL Id : hal-01155207, version 1

Citation

Nabil Hallou, Erven Rohou, Philippe Clauss, Alain Ketterlin. Dynamic Re-Vectorization of Binary Code. International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation - SAMOS XV, Jul 2015, Agios Konstantinos, Greece. 〈hal-01155207〉

Partager

Métriques

Consultations de la notice

576