Efficient communication sets generation for block-cyclic distribution on distributed-memory machines
How to generate local memory access sequence and communication sets efficiently is an important issue in compiling a data-parallel language into a single program multiple data (SPMD) code for distributed-memory machines. Many methods have been developed for generating local memory access sequence: In this paper, we focus on the problem of communication sets generation. The local block distance between two active elements with the same offset and destination (source) in a processor will be investigated. We develop an algorithm for the sending phase and receive-execute phase, respectively. Our algorithms do not need to compute send and receive patterns and lose no communication sets while there exist incomplete blocks that cannot constitute a send or. receive pattern. Experimental results showed that our method outperforms other previous work. (C) 2003 Elsevier Science B.V. All rights reserved.
communication sets block-cyclic distribution spmd non-local data