ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
BI_Srecv.c
Go to the documentation of this file.
1 #include "Bdef.h"
2 
3 void BI_Srecv(BLACSCONTEXT *ctxt, int src, int msgid, BLACBUFF *bp)
4 {
5  int i, info;
6  extern MPI_Status *BI_Stats;
7 
8  info=MPI_Recv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm,BI_Stats);
9 /*
10  * If we are doing our own buffering, need to determine the true length of
11  * the message just received
12  */
13 #ifndef MpiBuffGood
14  if (bp->dtype == MPI_PACKED)
15  {
16  info=MPI_Get_count(BI_Stats, MPI_PACKED, &i);
17  if (i != MPI_UNDEFINED) bp->N = i;
18  else BI_BlacsWarn(BI_ContxtNum(ctxt), __LINE__, __FILE__,
19  "MPI_Get_count returned MPI_UNDEFINED.\n");
20  }
21 #endif
22 }
bLaCbUfF::Buff
char * Buff
Definition: Bdef.h:56
BI_Stats
MPI_Status * BI_Stats
Definition: BI_GlobalVars.c:14
bLaCbUfF
Definition: Bdef.h:54
bLaCbUfF::N
int N
Definition: Bdef.h:61
bLaCsCoNtExT
Definition: Bdef.h:23
bLaCsCoNtExT::scp
BLACSSCOPE * scp
Definition: Bdef.h:26
Bdef.h
bLaCsScOpE::comm
MPI_Comm comm
Definition: Bdef.h:15
bLaCbUfF::dtype
MPI_Datatype dtype
Definition: Bdef.h:60
BI_Srecv
void BI_Srecv(BLACSCONTEXT *ctxt, int src, int msgid, BLACBUFF *bp)
Definition: BI_Srecv.c:3
BI_BlacsWarn
void BI_BlacsWarn(int ConTxt, int line, char *file, char *form,...)
Definition: BI_BlacsWarn.c:3
BI_ContxtNum
int BI_ContxtNum(BLACSCONTEXT *ctxt)
Definition: BI_ContxtNum.c:3