next up previous
Next: Program listing Up: AE 597: HW #3 Previous: AE 597: HW #3

Distribution of Array


  
Figure 1: (block,block) distribution of $4096 \times 4096$ array among 16 processors. $16 \times 1024=16384$ elements being communicated using CSHIFT(A,1,1).
\begin{figure}
 \centerline{
\psfig 
{figure=bb.ps,angle=-90,height=6cm,width=6cm}
}\end{figure}

1.
As can be easily seen by the figure above, the (block,block) distribution leads to uniform distribution of the array elements among the 16 processors. The elements communicated by using the CSHIFT(A,1,1) in this case is $16 \times 1024=16384$.


  
Figure 2: ($\ast$,block) distribution of $4096 \times 4096$ array among 16 processors. No communication required using CSHIFT(A,1,1).
\begin{figure}
 \centerline{
\psfig 
{figure=starb.ps,angle=-90,height=6cm,width=6cm}
}\end{figure}

2.
For the ($\ast$,block) distribution, the elements communicated by using CSHIFT(A,1,1) is as there is no inter-processor communication needed due to the row-wise (or dimension 1) distribution of the array.


  
Figure 3: (block,$\ast$) distribution of $4096 \times 4096$ array among 16 processors. $16 \times 4096 = 65536$ elements being communicated using CSHIFT(A,1,1).
\begin{figure}
 \centerline{
\psfig 
{figure=bstar.ps,angle=-90,height=6cm,width=6cm}
}\end{figure}

3.
For the (block,$\ast$) distribution, the elements communicated by using CSHIFT(A,1,1) is $16 \times 4096 = 65536$ which is 4 times as in the previous case.



Anirudh Modi
3/20/1998