9 float *A,
Int *lda,
Int *rdest,
Int *cdest)
59 void BI_ArgCheck(
Int,
Int,
char *,
char,
char,
char,
Int,
Int,
Int,
Int,
83 Int N, length, dest, tlda, trdest, ierr;
98 if (ttop ==
' ') ttop = DefCombTop;
100 if (
Mpval(cdest) == -1) trdest = -1;
101 else trdest =
Mpval(rdest);
102#if (BlacsDebugLvl > 0)
107 else tlda =
Mpval(m);
112 if (trdest == -1) dest = -1;
113 else dest =
Mpval(cdest);
121 if (trdest == -1) dest = -1;
143 bp->
Buff = (
char *) A;
163 ierr=MPI_Op_create(
BI_cMPI_sum, length, &BlacComb);
168 if (ctxt->
scp->
Iam == dest)
173 ierr=MPI_Allreduce(bp->
Buff, bp2->
Buff, bp->
N, bp->
dtype, BlacComb,
177 ierr=MPI_Op_free(&BlacComb);
229 if ( (ctxt->
scp->
Iam == dest) || (dest == -1) )
void BI_ArgCheck(Int ConTxt, Int RoutType, char *routine, char scope, char uplo, char diag, Int m, Int n, Int lda, Int nprocs, Int *prows, Int *pcols)
void BI_BeComb(BLACSCONTEXT *ctxt, BLACBUFF *bp, BLACBUFF *bp2, Int N, VVFUNPTR Xvvop)
Int BI_BuffIsFree(BLACBUFF *bp, Int Wait)
BLACBUFF * BI_GetBuff(Int length)
MPI_Datatype BI_GetMpiGeType(BLACSCONTEXT *ctxt, Int m, Int n, Int lda, MPI_Datatype Dtype, Int *N)
void BI_MringComb(BLACSCONTEXT *ctxt, BLACBUFF *bp, BLACBUFF *bp2, Int N, VVFUNPTR Xvvop, Int dest, Int nrings)
BLACBUFF * BI_Pack(BLACSCONTEXT *ctxt, BVOID *A, BLACBUFF *bp, MPI_Datatype Dtype)
void BI_TreeComb(BLACSCONTEXT *ctxt, BLACBUFF *bp, BLACBUFF *bp2, Int N, VVFUNPTR Xvvop, Int dest, Int nbranches)
void BI_Unpack(BLACSCONTEXT *ctxt, BVOID *A, BLACBUFF *bp, MPI_Datatype Dtype)
void BI_UpdateBuffs(BLACBUFF *Newbp)
void BI_cMPI_sum(void *in, void *inout, MpiInt *N, MPI_Datatype *dtype)
void BI_cvvsum(Int N, char *vec1, char *vec2)
void BI_BlacsErr(Int ConTxt, Int line, char *file, char *form,...)
#define BI_cvmcopy(m, n, A, lda, buff)
#define Mvkpnum(ctxt, prow, pcol)
#define MGetConTxt(Context, ctxtptr)
void(* VVFUNPTR)(Int, char *, char *)
#define BI_cmvcopy(m, n, A, lda, buff)
F_VOID_FUNC cgsum2d_(Int *ConTxt, F_CHAR scope, F_CHAR top, Int *m, Int *n, float *A, Int *lda, Int *rdest, Int *cdest)