Automatic Storage Optimization for Arrays - Inria - Institut national de recherche en sciences et technologies du numérique
Article Dans Une Revue ACM Transactions on Programming Languages and Systems (TOPLAS) Année : 2016

Automatic Storage Optimization for Arrays

Résumé

Efficient memory allocation is crucial for data-intensive applications as a smaller memory footprint ensures better cache performance and allows one to run a larger problem size given a fixed amount of main memory. In this paper, we describe a new automatic storage optimization technique to minimize the dimensionality and storage requirements of arrays used in sequences of loop nests with a predetermined schedule. We formulate the problem of intra-array storage optimization as one of finding the right storage partitioning hyperplanes: each storage partition corresponds to a single storage location. Our heuristic is driven by a dual objective function that minimizes both, the dimensionality of the mapping and the extents along those dimensions. The technique is dimension optimal for most codes encountered in practice. The storage requirements of the mappings obtained also are asymptotically better than those obtained by any existing schedule-dependent technique. Storage reduction factors and other results we report from an implementation of our technique demonstrate its effectiveness on several real-world examples drawn from the domains of image processing, stencil computations, high-performance computing, and the class of tiled codes in general .
Fichier principal
Vignette du fichier
paper.pdf (445.92 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01425564 , version 1 (03-01-2017)

Identifiants

Citer

Somashekaracharya G Bhaskaracharya, Uday Bondhugula, Albert Cohen. Automatic Storage Optimization for Arrays. ACM Transactions on Programming Languages and Systems (TOPLAS), 2016, 38, pp.1 - 23. ⟨10.1145/2845078⟩. ⟨hal-01425564⟩
338 Consultations
385 Téléchargements

Altmetric

Partager

More