|
ScaLAPACK
2.0.2
ScaLAPACK: Scalable Linear Algebra PACKage
|
00001 #include "Bdef.h" 00002 00003 void BI_Srecv(BLACSCONTEXT *ctxt, int src, int msgid, BLACBUFF *bp) 00004 { 00005 int i, info; 00006 extern MPI_Status *BI_Stats; 00007 00008 info=MPI_Recv(bp->Buff, bp->N, bp->dtype, src, msgid, ctxt->scp->comm,BI_Stats); 00009 /* 00010 * If we are doing our own buffering, need to determine the true length of 00011 * the message just received 00012 */ 00013 #ifndef MpiBuffGood 00014 if (bp->dtype == MPI_PACKED) 00015 { 00016 info=MPI_Get_count(BI_Stats, MPI_PACKED, &i); 00017 if (i != MPI_UNDEFINED) bp->N = i; 00018 else BI_BlacsWarn(BI_ContxtNum(ctxt), __LINE__, __FILE__, 00019 "MPI_Get_count returned MPI_UNDEFINED.\n"); 00020 } 00021 #endif 00022 }