Autovesk: Automatic vectorization of unstructured static kernels by graph transformations - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail (Preprint/Prepublication) Année : 2022

Autovesk: Automatic vectorization of unstructured static kernels by graph transformations

Résumé

Leveraging the SIMD capability of modern CPU architectures is mandatory to take full benefit of their increasing performance. To exploit this feature, binary executables must be explicitly vectorized by the developers or an automatic vectorization tool. This why the compilation research community has created several strategies to transform a scalar code into a vectorized implementation. However, the majority of the approaches focus on regular algorithms, such as affine loops, that can be vectorized with few data transformations. In this paper, we present a new approach that allow automatically vectorizing scalar codes with chaotic data accesses as long as their operations can be statically inferred. We describe how our method transforms a graph of scalar instructions into a vectorized one using different heuristics with the aim of reducing the number or cost of the instructions. Finally, we demonstrate the interest of our approach on various computational kernels using Intel AVX-512 and ARM SVE.
Fichier principal
Vignette du fichier
Autovesk__Automatic_vectorization_of_unstructured_static_kernels_by_graph_transformations.pdf (870.21 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03914178 , version 1 (28-12-2022)
hal-03914178 , version 2 (08-07-2023)
hal-03914178 , version 3 (04-12-2023)

Identifiants

  • HAL Id : hal-03914178 , version 1

Citer

Hayfa Tayeb, Bérenger Bramas, Ludovic Paillat. Autovesk: Automatic vectorization of unstructured static kernels by graph transformations. 2022. ⟨hal-03914178v1⟩
203 Consultations
53 Téléchargements

Partager

Gmail Facebook X LinkedIn More