Abstract | ||
---|---|---|
Compilers must make choices between different optimizations; in this paper we present an analytic cost model that can be used to compare several compile-time optimizations for memory-intensive, matrix-based codes. These optimiza- tions increase the spatial locality of references to improve cache hierarchy performance. Specifically, we consider loop transformations, array restructuring, and address remapping, as well as combinations thereof. Our cost model compares the effectiveness of these optimizations and provides a good basis for deciding which optimization to use. To evaluate the cost model and the decisions taken based on it, we simulate eight applications on a variety of input sizes and with a variety of manually applied restructuring optimizations. We find that a single fixed strategy delivers suboptimal performance, and that it is necessary to adjust the chosen optimization to each code. Our model generally predicts the best combination of restructuring optimizations among those we examined. The set of best optimizations under our model yields performance within a geometric mean of 5% of the best combination of candidate optimizations, regardless of the benchmark or its input dataset size. |
Year | Venue | Keywords |
---|---|---|
2003 | J. Instruction-Level Parallelism | geometric mean |
Field | DocType | Volume |
Computer science,Parallel computing,Real-time computing,Restructuring | Journal | 5 |
Citations | PageRank | References |
2 | 0.37 | 17 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Bharat Chandramouli | 1 | 11 | 1.30 |
Wilson C. Hsieh | 2 | 2532 | 261.94 |
John B. Carter | 3 | 1785 | 162.82 |
Sally A. Mckee | 4 | 1928 | 152.59 |