Doacross loops are generally used to exploit the parallelism in loops with cross-iteration dependences. On shared memory machines, Doacross execution usually achieves useful speedup. This is not the case with distributed memory systems (multicomputers) where communication overhead can outweigh the benefits of parallelism. The authors present compile time transformation of Doacross loops with uniform synchronizations for efficient execution on multicomputers. The transformation consists of 1) a new partitioning that increases the parallelism used in the loop without adding any overhead, and 2) code reordering that improves the execution time of the Doacross loop not only by reducing the time taken by a partition to receive the data needed, but also by making the partitions execute useful code while waiting for data. >
['A. Zaafrani', 'Mabo Robert Ito']
Transformation of Doacross loops on distributed memory systems