1*67e560aaSBarry Smith /* $Id: mpidense.h,v 1.3 1995/10/23 23:14:55 curfman Exp bsmith $ */ 28965ea79SLois Curfman McInnes 38965ea79SLois Curfman McInnes #include "dense.h" 48965ea79SLois Curfman McInnes 5*67e560aaSBarry Smith /* 6*67e560aaSBarry Smith Data stucture for basic parallel dense matrix 7*67e560aaSBarry Smith */ 8*67e560aaSBarry Smith 98965ea79SLois Curfman McInnes typedef struct { 108965ea79SLois Curfman McInnes int *rowners, *cowners; /* ranges owned by each processor */ 118965ea79SLois Curfman McInnes int m, n; /* local rows and columns */ 128965ea79SLois Curfman McInnes int M, N; /* global rows and columns */ 138965ea79SLois Curfman McInnes int rstart, rend; /* starting and ending owned rows */ 14bad5519cSBarry Smith Mat A; /* local submatrix */ 158965ea79SLois Curfman McInnes int size; /* size of communicator */ 168965ea79SLois Curfman McInnes int rank; /* rank of proc in communicator */ 178965ea79SLois Curfman McInnes 188965ea79SLois Curfman McInnes /* The following variables are used for matrix assembly */ 198965ea79SLois Curfman McInnes 208965ea79SLois Curfman McInnes int assembled; /* MatAssemble has been called */ 218965ea79SLois Curfman McInnes InsertMode insertmode; /* mode for MatSetValues */ 228965ea79SLois Curfman McInnes Stash stash; /* stash for non-local elements */ 238965ea79SLois Curfman McInnes MPI_Request *send_waits; /* array of send requests */ 248965ea79SLois Curfman McInnes MPI_Request *recv_waits; /* array of receive requests */ 258965ea79SLois Curfman McInnes int nsends, nrecvs; /* numbers of sends and receives */ 268965ea79SLois Curfman McInnes Scalar *svalues, *rvalues; /* sending and receiving data */ 278965ea79SLois Curfman McInnes int rmax; /* maximum message length */ 288965ea79SLois Curfman McInnes 298965ea79SLois Curfman McInnes /* The following variables are used for matrix-vector products */ 308965ea79SLois Curfman McInnes 318965ea79SLois Curfman McInnes Vec lvec; /* local vector */ 32bad5519cSBarry Smith VecScatter Mvctx; /* scatter context for vector */ 338965ea79SLois Curfman McInnes } Mat_MPIDense; 34