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. Index Terms: array redistribution, distributed-memory computers, High Performance Fortran (HPF), data distribution, runtime support Rajeev Thakur is with the Mathematics and Computer Science Division, Argonne National Laboratory, Argonne, IL 60439; email: thaku..
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.