array redistribution, distributed-memory computers, High Performance Fortran, HPF, data distribution, runtime support
Dynamic redistribution of arrays is required very often in programs on distributed memory parallel computers. This paper presents efficient algorithms for redistribution between different cyclic(k) distributions, as defined in High Performance Fortran. We first propose special optimized algorithms for a cyclic(x) to cyclic(y) redistribution when x is a multiple of y, or y is a multiple of x. We then propose two algorithms, called the GCD method and the LCM method, for the general cyclic(x) to cyclic(y) redistribution when there is no particular relation between x and y. We have implemented these algorithms on the Intel Touchstone Delta, and find that they perform well for different array sizes and number of processors.
Thakur, Rajeev; Choudhary, Alok; and Ramanujam, J., "Efficient Algorithms for Array Redistribution" (1996). Electrical Engineering and Computer Science. Paper 32.