next up previous contents
Next: Constructor Up: Communication schedules Previous: Overlap restrictions:

class Skew

A skew schedule is a communication schedule for performing a skewed shift--a shift where the shift amount is itself an array--in a particular dimension of a distributed array placing the result in another array. The source and destination must have the same shape and same element-type, and they must have a certain alignment relation.

A skew schedule is described by a collective object with local components of class Skew. The public interface of the Skew class is

  class DAD ;
  enum Mode {CYCL, EDGE, NONE} ;

  class Skew {
  public :
    Skew(const DAD* dst, const DAD* src, const int len,
         const DAD* shf, int* shfDat, const int dim,
         const Mode mode) ;

    void execute(void* dstDat, void* srcDat) ;
  private :
    ...
  } ;





Guansong Zhang
Fri Oct 9 12:29:23 EDT 1998