Incremental Generation of Index Sets for Array Statement Execution on Distributed-Memory Machines

In compiling array statements for distributed-memory machines, efficient generation of local index sets and communication sets is important. Several techniques for enumerating these sets for block-cyclically distributed arrays have been presented in the literature. When sufficient compile-time information is not available, generation of the structures which facilitate efficient enumeration of these sets, is performed at run-time. In this paper, we address the incremental generation of local index sets and communication sets to reduce the runtime cost of array statement execution. We develop techniques for performing the incremental generation using the virtual processor approach for execution of array statements involving block-cyclically distributed arrays.