Author :
Lin, Chun-Yuan ; Chung, Yeh-Ching ; Liu, Jen-Shiuh
Author_Institution :
Dept. of Inf. Eng., Feng Chia Univ., Taichung, Taiwan
Abstract :
Array operations are useful in a large number of important scientific codes, such as molecular dynamics, finite element methods, climate modeling, atmosphere and ocean sciences, etc. In our previous work, we have proposed a scheme of extended Karnaugh map representation (EKMR) for multidimensional array representation. We have shown that sequential multidimensional array operation algorithms based on the EKMR scheme have better performance than those based on the traditional matrix representation (TMR) scheme. Since parallel multidimensional array operations have been an extensively investigated problem, we present efficient data parallel algorithms for multidimensional array operations based on the EKMR scheme for distributed memory multicomputers. In a data parallel programming paradigm, in general, we distribute array elements to processors based on various distribution schemes, do local computation in each processor, and collect computation results from each processor. Based on the row, column, and 2D mesh distribution schemes, we design data parallel algorithms for matrix-matrix addition and matrix-matrix multiplication array operations in both TMR and EKMR schemes for multidimensional arrays. We also design data parallel algorithms for six Fortran 90 array intrinsic functions: All, Maxval, Merge, Pack, Sum, and Cshift. We compare the time of the data distribution, the local computation, and the result collection phases of these array operations based on the TMR and the EKMR schemes. The experimental results show that algorithms based on the EKMR scheme outperform those based on the TMR scheme for all test cases.
Keywords :
distributed processing; multiprocessing systems; parallel algorithms; 2D mesh distribution; Karnaugh map; array operation; data distribution; data parallel algorithm; distributed memory multicomputers; multidimensional array; traditional matrix representation; Algorithm design and analysis; Atmosphere; Atmospheric modeling; Concurrent computing; Distributed computing; Finite element methods; Multidimensional systems; Oceans; Parallel algorithms; Phased arrays;