Abstract
Data transformation is one of the key optimizations in maximizing cache locality. Traditional data transformation strategies employ linear data layouts, e.g., row-major or column-major, for multidimensional arrays. Although a linear layout matches the linear memory space well in most cases, it can only optimize for self-spatial locality for individual references. In this work, we propose a novel data layout transformation framework that is able to determine a tiled layout for each array in an application program. Tiled layout can exploit the group-spatial locality among different references and improve cache line utilization. In our strategy, the data elements accessed by different references in one loop iteration are placed into a tile and fetched into the same cache line at runtime. This helps minimizing conflict misses in caches. We evaluated our data layout transformation framework using 30 benchmarks on a commercial multicore machine. The experimental results show that our approach outperforms state-of-the-art data transformation strategies and works well with large core counts.
Original language | English (US) |
---|---|
Title of host publication | 2011 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2011 |
Pages | 142-149 |
Number of pages | 8 |
DOIs | |
State | Published - Dec 1 2011 |
Event | 2011 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2011 - San Jose, CA, United States Duration: Nov 7 2011 → Nov 10 2011 |
Other
Other | 2011 IEEE/ACM International Conference on Computer-Aided Design, ICCAD 2011 |
---|---|
Country/Territory | United States |
City | San Jose, CA |
Period | 11/7/11 → 11/10/11 |
All Science Journal Classification (ASJC) codes
- Software
- Computer Science Applications
- Computer Graphics and Computer-Aided Design