Automatic benchmark generation for cache optimization of matrix operations

  • Authors:
  • John McCalpin;Mark Smotherman

  • Affiliations:
  • University of Delaware, Newark, DE;Clemson University, Clemson, SC

  • Venue:
  • ACM-SE 33 Proceedings of the 33rd annual on Southeast regional conference
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

Computationally intensive algorithms must usually be restructured to make the best use of cache memory in current high-performance, hierarchical memory computers. Unfortunately, cache conscious algorithms are sensitive to object sizes and addresses as well as the details of the cache and translation lookaside buffer geometries, and this sensitivity makes both automatic restructuring and hand-turning difficult tasks. An optimization approach is presented in this paper that automatically generates and executes a benchmark program from a concise specification of the algorithm's structure. This technique provides the performance data needed for verification of code generation heuristics or search among the various restructuring options. Matrix transpose and matrix multiplication are examined using this approach for several workstations with restructuring options of loop order, tiling (blocking), and unrolling.