Towards data tiling for whole programs in scratchpad memory allocation

  • Authors:
  • Lian Li;Hui Wu;Hui Feng;Jingling Xue

  • Affiliations:
  • Programming Languages and Compilers Group and National ICT Australia, Sydney, Australia;School of Computer Science and Engineering, University of New South Wales, Sydney, Australia;Programming Languages and Compilers Group, Sydney, Australia;Programming Languages and Compilers Group and National ICT Australia, Sydney, Australia

  • Venue:
  • ACSAC'07 Proceedings of the 12th Asia-Pacific conference on Advances in Computer Systems Architecture
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data tiling is an array layout transformation technique that partitions an array into smaller subarray blocks. It was originally proposed to improve the cache performance of regular loops. Recently, researchers have applied this technique to scratchpad memory (SPM) allocation. Arrays whose sizes exceed a given SPM size can be tiled or divided into smaller subarray blocks or tiles and the program performance can be significantly improved by placing the smaller subarray tiles in SPM. Existing data tiling techniques are applicable to regularlyaccessed arrays in individual loop nests. In embedded applications, arrays are often accessed in multiple loop nests via possibly aliased pointers. Tiling arrays in a loop nest alone will often affect the tiling and allocation decisions for arrays accessed in other loop nests. Moreover, tiling arrays accessed via aliased pointers is difficult since their access patterns are unknown at compile time. This paper presents a new data tiling approach to address these practical issues. We perform alias profiling to detect the most likely memory access patterns and use an ILP solver to select the best tiling schemes for all loop nests in the program as a whole. We have integrated data tiling in an existing SPM allocation framework. Our preliminary experimental results show that our approach can improve significantly the performance of a set of programs selected from the Mediabench suite.