One data mapping is often not appropriate for an entire program
-
Often one has phases in which different distributions are needed in different phases
-
e.g. in 2D FFT, one typically finds FFT of F(I,J) by first distributing so for each J all I (x values) are in same processor and then transform so that for each I all J are in same processor
-
This ensures no communication in FFT phases which is important as typically in distributed one dimensional FFT there is substantial overhead
|
ALLOCATABLE arrays can change size
|
REALIGN and REDISTRIBUTE are executable DISTRIBUTE and ALIGN commands but are only to be used if one declares arrays on which they act DYNAMIC
|
Naturally DYNAMIC arrays can be initialized by ALIGN or DISTRIBUTE statements
|