Actual source code: mpidense.h

  2: #include <../src/mat/impls/dense/seq/dense.h>

  4:   /*  Data stuctures for basic parallel dense matrix  */

  6: typedef struct {
  7:   PetscInt      nvec;                   /* this is the n size for the vector one multiplies with */
  8:   Mat           A;                      /* local submatrix */
  9:   PetscMPIInt   size;                   /* size of communicator */
 10:   PetscMPIInt   rank;                   /* rank of proc in communicator */
 11:   /* The following variables are used for matrix assembly */
 12:   PetscBool     donotstash;             /* Flag indicationg if values should be stashed */
 13:   MPI_Request   *send_waits;            /* array of send requests */
 14:   MPI_Request   *recv_waits;            /* array of receive requests */
 15:   PetscInt      nsends,nrecvs;         /* numbers of sends and receives */
 16:   PetscScalar   *svalues,*rvalues;     /* sending and receiving data */
 17:   PetscInt      rmax;                   /* maximum message length */

 19:   /* The following variables are used for matrix-vector products */

 21:   Vec           lvec;                   /* local vector */
 22:   VecScatter    Mvctx;                  /* scatter context for vector */

 24:   PetscBool     roworiented;            /* if true, row oriented input (default) */
 25: } Mat_MPIDense;