Improving Cache Effectiveness through Array Data Layout Manipulation in SAC

  • Authors:
  • Clemens Grelck

  • Affiliations:
  • -

  • Venue:
  • IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

SAC is a functional array processing language particularly designed with numerical applications in mind. In this field the runtime performance of programs critically depends on the efficient utilization of the memory hierarchy. Cache conflicts due to limited set associativity are one relevant source of inefficiency. This paper describes the realization of an optimization technique which aims at eliminating cache conflicts by adjusting the data layout of arrays to specific access patterns and cache configurations. Its effect on cache utilization and runtime performance is demonstrated by investigations on the PDE1 benchmark.