Next:
Use of caching in
Up:
Redistribution of block-cyclic data
Previous:
Communication using send/receive
General redistributions
General Redistributions
Generalization to multidimensional arrays is easy.
Create general datatype for multidimensional blocks;
Create 1D groups in each dimension;
Redistribute over each dimension in trun.
To decrease block size from
kr
to
r
we just reverse the direction of communication.
Changing block size from
to
can be done in 2 phases. If
is the least common multiple of
and
, then
Increase block size by
,
,
Decrease block size by
,
.
Can also keep block size fixed and change process topology.
David W Walker
Mon Jan 20 11:10:22 GMT 1997