Parallel and Distributed Processing Symposium, International (2006)
Rhodes Island, Greece
Apr. 25, 2006 to Apr. 29, 2006
K. Malkowski , Dept. of Comput. Sci.&Eng., Pennsylvania State Univ., University Park, PA, USA
Ingyu Lee , Dept. of Comput. Sci.&Eng., Pennsylvania State Univ., University Park, PA, USA
P. Raghavan , Dept. of Comput. Sci.&Eng., Pennsylvania State Univ., University Park, PA, USA
M.J. Irwin , Dept. of Comput. Sci.&Eng., Pennsylvania State Univ., University Park, PA, USA
In many scientific applications, the majority of the execution time is spent within a few basic sparse kernels such as sparse matrix vector multiplication (SMV). Such sparse kernels can utilize only a fraction of the available processing speed because of their relatively large number of data accesses per floating point operation, and limited data locality and data re-use. Algorithmic changes and tuning of codes through blocking and loop unrolling schemes can improve performance but such tuned versions are typically not available in benchmark suites such as the SPEC CFP 2000. In this paper, we consider sparse SMV kernels with different levels of tuning that are representative of this application space. We emulate certain memory subsystem optimizations using SimpleScalar and Wattch to evaluate improvements in performance and energy metrics. We also characterize how such an evaluation can be affected by the interplay between code tuning and memory subsystem optimizations. Our results indicate that the optimizations reduce execution time by over 40%, and the energy by over 85%, when used with power control modes of CPUs and caches. Furthermore, the relative impact of the same set of memory subsystem optimizations can vary significantly depending on the level of code tuning. Consequently, it may be appropriate to augment traditional benchmarks by tuned kernels typical of high performance sparse scientific codes to enable comprehensive evaluations of future systems.
CPU, sparse scientific applications, sparse kernels, sparse matrix vector multiplication, data accesses, data locality, data reuse, benchmark suites, SPEC CFP 2000, memory subsystem optimizations, SimpleScalar, Wattch, energy metrics, performance evaluation, application code tuning, power control modes
Ingyu Lee, K. Malkowski, P. Raghavan and M. Irwin, "On improving performance and energy profiles of sparse scientific applications," Parallel and Distributed Processing Symposium, International(IPDPS), Rhodes Island, Greece, 2006, pp. 332.