Lightweight Array Contraction by Trace-Based Polyhedral Analysis - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2022

Lightweight Array Contraction by Trace-Based Polyhedral Analysis

Résumé

Array contraction is a compilation optimization used to reduce memory consumption, by reducing the size of temporary arrays in a program while preserving its correctness. The usual approach to this problem is to perform a static analysis of the given program, creating overhead in the compilation cycle. In this work, we take a look at exploiting execution traces of programs of the polyhedral model, in order to infer reduced sizes for the temporary arrays used during calculations. We designed a four step process to reduce the storage requirements of a temporary array of a given scheduled program, in which we used an algorithm to deduce array access functions for which bounds are modulos of affine functions of parameters of the program. Our results show memory reductions of an order of magnitude on several benchmarks examples from PolyBench, a collection of programs from the polyhedral community. Execution time is compared to a baseline implementation of a static algorithm, and results show speed-up factors up to 20.
Fichier principal
Vignette du fichier
c3po22polytrace.pdf (474.79 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03862219 , version 1 (21-11-2022)

Identifiants

  • HAL Id : hal-03862219 , version 1

Citer

Hugo Thievenaz, Keiji Kimura, Christophe Alias. Lightweight Array Contraction by Trace-Based Polyhedral Analysis. C3PO 2022 - International Workshop on Compiler-assisted Correctness Checking and Performance Optimization for HPC, Jun 2022, Hamburg, Germany. ⟨hal-03862219⟩
59 Consultations
80 Téléchargements

Partager

More