Processing math: 0%
Efficient representation scheme for multidimensional array operations | IEEE Journals & Magazine | IEEE Xplore

Efficient representation scheme for multidimensional array operations


Abstract:

Array operations are used in a large number of important scientific codes. To implement these array operations efficiently, many methods have been proposed in the literat...Show More

Abstract:

Array operations are used in a large number of important scientific codes. To implement these array operations efficiently, many methods have been proposed in the literature, most of which are focused on two-dimensional arrays. When extended to higher dimensional arrays, these methods usually do not perform well. Hence, designing efficient algorithms for multidimensional array operations becomes an important issue. We propose a new scheme, extended Karnaugh map representation (EKMR), for the multidimensional array representation. The main idea of the EKMR scheme is to represent a multidimensional array by a set of two-dimensional arrays. Hence, efficient algorithm design for multidimensional array operations becomes less complicated. To evaluate the proposed scheme, we design efficient algorithms for multidimensional array operations, matrix-matrix addition/subtraction and matrix-matrix multiplications, based on the EKMR and the traditional matrix representation (TMR) schemes. Theoretical and experimental tests for these array operations were conducted. In the experimental test, we compare the performance of intrinsic functions provided by the Fortran 90 compiler with those based on the EKMR scheme. The experimental results show that the algorithms based on the EKMR scheme outperform those based on the TMR scheme and those provided by the Fortran 90 compiler.
Published in: IEEE Transactions on Computers ( Volume: 51, Issue: 3, March 2002)
Page(s): 327 - 345
Date of Publication: 31 March 2002

ISSN Information:


1 Introduction

Array operations are used in a large number of important scientific codes, such as molecular dynamics [10], finite-element methods [16], climate modeling [33], etc. To implement these array operations efficiently, many methods have been proposed in the literature. For example, for two-dimensional arrays, by applying the loop repermutation [4], [28] to reorder the memory accesses for array elements of certain operations, we can obtain better performance. However, the majority of these methods are focused on the two-dimensional arrays. When extended to higher dimensional arrays, these methods usually do not perform well. The reason is that one usually uses the traditional matrix representation (TMR) that is also known as canonical data layouts [8] to represent higher dimensional arrays. In the TMR scheme, a three-dimensional array of size can be viewed as five two-dimensional arrays. This scheme has two drawbacks for higher dimensional array operations. First, the costs of index computations of array elements for array operations increase as the dimension increases. Second, the cache miss rate for array operations increases as the dimension increases due to more cache lines accessed. Hence, multidimensional arrays represented by the TMR scheme become less manageable and difficult for programmers to design efficient algorithms.

Contact IEEE to Subscribe

References

References is not available for this document.