ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Automatic Storage Optimization for Arrays

Bhaskaracharya, Somashekaracharya G and Bondhugula, Uday and Cohen, Albert (2016) Automatic Storage Optimization for Arrays. In: ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 38 (3).

[img] PDF
ACM_Tra_Pro_Lan_Sys_38-3_11_2016.pdf - Published Version
Restricted to Registered users only

Download (737kB) | Request a copy
Official URL: http://dx.doi.org/10.1145/2845078

Abstract

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 article, 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 that 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.

Item Type: Journal Article
Publication: ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
Publisher: ASSOC COMPUTING MACHINERY
Additional Information: Copy right for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA
Keywords: Algorithms; Design; Experimentation; Performance; Compilers; storage mapping optimization; memory optimization; array contraction; polyhedral framework
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 11 Jun 2016 10:18
Last Modified: 11 Jun 2016 10:18
URI: http://eprints.iisc.ac.in/id/eprint/53960

Actions (login required)

View Item View Item