2002 · 21 citations · 12 references
ComputingComputer EngineeringComputer ScienceAlgorithmsParallel AlgorithmsParallel ComputingAntenna ArraysBlock Matrix Algorithms
We present new algorithmic techniques for a classical research problem, runtime redistribution of an array from one block-cyclic layout to another. Our methodology for reducing communication overheads is based on a generalized circulant matrix formalism. Using this formalism, we derive direct, indirect, and hybrid communication schedules for the cyclic redistribution problem when the block size changes by an integer factor K. We have also developed formulae to estimate the timing performance of each of these schedules for a given parallel machine and redistribution problem. In our indirect communication schedule, blocks are moved from a source processor to a destination processor through intermediate "relay" processors. This reduces the number of communication steps by an order of magnitude, in comparison with previous approaches. This algorithm performs cyclic(x) to cyclic(Kx) redistribution on P processors in [log/sub 2/K]+2 steps. Implementations of these algorithms on the Cray T3D and on the IBM SP-2 show superior performance over previous approaches. Since our algorithms are developed using MPI, they can be easily ported to different application environments. Our techniques can be used in the design of scalable redistribution libraries, in efficient implementations of the REDISTRIBUTE directive of HPF and in developing parallel algorithms for various HPC applications.
12
Space-time adaptive processing for airborne radar
James E. Ward · NASA STI/Recon Technical Report N · 1994 · 932 citations
The High Performance Fortran Handbook
Charles Koelbel, David B. Loveman, Robert Schreiber et al. · Computers in Physics · 1994 · 577 citations
Graphs with circulant adjacency matrices
B. Elspas, James Turner · Journal of Combinatorial Theory · 1970 · 223 citations