A Polyhedral Approach for Scalar Promotion - Inria - Institut national de recherche en sciences et technologies du numérique
Pré-Publication, Document De Travail Année : 2021

A Polyhedral Approach for Scalar Promotion

Une approche polyédrique pour la promotion scalaire

Résumé

Memory accesses are a well known bottleneck whose impact might be mitigated by using properly the memory hierarchy until registers. In this paper, we address array scalarization, a technique to turn temporary arrays into a collection of scalar variables to be allocated to registers. We revisit array scalarization in the light of the recent advances of the polyhedral model, a general framework to design optimizing program transformations. We propose a general algorithm for array scalarization, ready to be plugged in a polyhedral compiler, among other passes. Our scalarization algorithm operates on the polyhedral intermediate representation. In particular, our scalarization algorithm is parametrized by the program schedule possibly computed by a previous compilation pass. We rely on schedule-directed array contraction and we propose a loop tiling algorithm able to reduce the footprint down to the available amount of registers on the target architecture. Experimental results con rm the e ectiveness and the e ciency of our approach.
Les accès mémoires sont un goulot d'étranglement bien connu, dont l'impact peut être limité en utilisant correctement la hiérarchie mémoire jusqu'aux registres. Dans ce rapport, nous étudions la scalaration de tableaux, une technique pour transformer un tableau en une collection de variables scalaires à allouer à des registres. Nous revisitons la scalarisation de tableau à la lumière des avancées récentes du modèle polyédrique, un cadre général pour construire des transformations de programme. Nous proposons un algorithme pour la scalarisation de tableaux, directement intégrable comme passe d'un compilateur polyédrique. Notre algorithme de scalarisation opère sur la représentation intermédiaire polyédrique. En particulier, notre algorithme est paramétré par un ordonnancement possiblement calcul e par une passe précédente. Nous utilisons la contraction de tableaux sous contrainte d’ordonnancement et nous proposons un nouvel algorithme de tuilage de boucles pour régler l'empreinte mémoire et ainsi utiliser le bon nombre de registres. Les résultats expérimentaux confirment l’intérêt et l’efficacité de notre approche.
Fichier principal
Vignette du fichier
RR-9437.pdf (1.59 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03449994 , version 1 (25-11-2021)

Identifiants

  • HAL Id : hal-03449994 , version 1

Citer

Alec Sadler, Christophe Alias, Hugo Thievenaz. A Polyhedral Approach for Scalar Promotion. 2021. ⟨hal-03449994⟩
271 Consultations
221 Téléchargements

Partager

More