Evaluation of offset assignment heuristics

  • Authors:
  • Johnny Huynh;José Nelson Amaral;Paul Berube;Sid-Ahmed-Ali Touati

  • Affiliations:
  • University of Alberta, Canada;University of Alberta, Canada;University of Alberta, Canada;Université de Versailles, France

  • Venue:
  • HiPEAC'07 Proceedings of the 2nd international conference on High performance embedded architectures and compilers
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In digital signal processors (DSPs) variables are accessed using k address registers. The problem of finding a memory layout, for a set of variables, that minimizes the address-computation overhead is known as the General Offset Assignment (GOA) Problem. The most common approach to this problem is to partition the set of variables into k partitions and to assign each partition to an address register. Thus effectively decomposing the GOA problem into several Simple Offset Assignment (SOA) problems. Many heuristic-based algorithms are proposed in the literature to approximate solutions to the partitioning and SOA problems. However, the address-computation overhead of the resulting memory layouts are not accurately evaluated. In this paper we use Gebotys' optimal address-code generation technique to evaluate memory layouts. Using this evaluation method introduces a new problem which we call the Memory Layout Permutation (MLP) problem. We then use the Gebotys' technique and an exhaustive solution to the MLP problem to evaluate heuristic-based offset-assignment algorithms. The memory layouts produced by each algorithm are compared against each other and against the optimal layouts. Our results show that even in small access sequences with 12 variables or less, current heuristics may produce memory layouts with address-computation overheads up to two times higher than the overhead of an optimal layout.