Published January 1, 2022
| Version v1
Conference paper
Open
Fine-Granular Computation and Data Layout Reorganization for Improving Locality
- 1. Penn State Univ, State Coll, PA 16801 USA
- 2. Univ Pittsburgh, Pittsburgh, PA USA
- 3. AMD Res, Austin, TX USA
- 4. TUBITAK BILGEM, Kocaeli, Turkey
Description
While data locality and cache performance have been investigated in great depth by prior research (in the context of both high-end systems and embedded/mobile systems), one of the important characteristics of prior approaches is that they transform loop and/or data space (e.g., array layout) as a whole. Unfortunately, such coarse-grain approaches bring three critical issues. First, they implicitly assume that all parts of a given array would equally benefit from the identified data layout transformation. Second, they also assume that a given loop transformation would have the same locality impact on an entire data array. Third and more importantly, such coarse-grain approaches are local by their nature and difficult to achieve globally optimal executions. Motivated by these drawbacks of existing code and data space reorganization/optimization techniques, this paper proposes to determine multiple loop transformation matrices for each loop nest in the program and multiple data layout transformations for each array accessed by the program, in an attempt to exploit data locality at a finer granularity. It leverages bipartite graph matching and extends the proposed fine-granular integrated loop-layout strategy to a multicore setting as well. Our experimental results show that the proposed approach significantly improves the data locality and outperforms existing schemes - 9.1% average performance improvement in single-threaded executions and 11.5% average improvement in multi-threaded executions over the state-of-the-art.
Files
bib-f69ac5dc-49d5-4427-9801-62f081cbac3c.txt
Files
(207 Bytes)
| Name | Size | Download all |
|---|---|---|
|
md5:a217154c9df7c9efae352a088a3c98e0
|
207 Bytes | Preview Download |