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;