next up previous
Next: Performing I/O Up: Parallelization strategy Previous: Neighbor operations

Row or column operations

 

Row operations can be done just as they would be done in a sequential program, if the data is distributed by rows. Similarly, column operations are easily done if the data is distributed by columns. If the computation contains alternating row and column operations (as is the case in spectral-methods computations), data is redistributed with redistribution operations. (For example, to perform a row and then a column operation, the data would initially be distributed by rows. The row operation would be performed, after which the data would be redistributed by columns and the column operation performed.)

As an example, consider performing an alternating series of row and column operations. Data is alternately distributed by rows and by columns (as illustrated in figure 4), with the same memory used to store the local sections for both distributions. The code (in Fortran) would look something like that shown in 7, (omitting for now the details of the arguments to the data redistribution routine):

  
Figure 7: Pseudocode for row/column operations.



next up previous
Next: Performing I/O Up: Parallelization strategy Previous: Neighbor operations



Berna L Massingill
Thu Aug 28 15:37:28 PDT 1997