Issue No. 03 - March (2002 vol. 51)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.990130
<p>Array operations are used in a large number of important scientific codes, such as molecular dynamics, finite element methods, climate modeling, etc. To implement these array operations efficiently, many methods have been proposed in the literature. 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. Hence, designing efficient algorithms for multidimensional array operations becomes an important issue. In this paper, we propose a new scheme, <it>extended Karnaugh map representation</it> (<it>EKMR</it>), for the multidimensional array representation. The main idea of the <it>EKMR</it> 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 <it>EKMR</it> and the <it>traditional matrix representation</it> (<it>TMR</it>) schemes. Both theoretical analysis and experimental test for these array operations were conducted. Since Fortran 90 provides a rich set of intrinsic functions for multidimensional array operations, in the experimental test, we also compare the performance of intrinsic functions provided by the Fortran 90 compiler and those based on the <it>EKMR</it> scheme. The experimental results show that the algorithms based on the <it>EKMR</it> scheme outperform those based on the <it>TMR</it> scheme and those provided by the Fortran 90 compiler.</p>
array operations, multidimensional arrays, data structure, extended Karnaugh map representation, traditional matrix representation
J. Liu, C. Lin and Y. Chung, "Efficient Representation Scheme for Multidimensional Array Operations," in IEEE Transactions on Computers, vol. 51, no. , pp. 327-345, 2002.