"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "PTRANS/cblacslt.c" between
hpcc-1.5.0b.tar.gz and hpcc-1.5.0.tar.gz

About: HPCC (HPC Challenge) benchmark consists of basically 7 tests: HPL, STREAM, RandomAccess, PTRANS, FFTE, DGEMM and b_eff Latency/Bandwidth.

cblacslt.c  (hpcc-1.5.0b):cblacslt.c  (hpcc-1.5.0)
skipping to change at line 446 skipping to change at line 446
* The process row of the destination of the sum. * The process row of the destination of the sum.
* If rdest == -1, then result is left on all processes in scope. * If rdest == -1, then result is left on all processes in scope.
* *
* cdest (input) int * cdest (input) int
* The process column of the destination of the sum. * The process column of the destination of the sum.
* If cdest == -1, then result is left on all processes in scope. * If cdest == -1, then result is left on all processes in scope.
*/ */
void void
Cdgsum2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt rdest, int cdest){ Cdgsum2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt rdest, int cdest){
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), MPI_SUM ); Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), MPI_SUM );
} }
void void
Cigsum2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda, int rdest, int cdest){ Cigsum2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda, int rdest, int cdest){
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_INT, sizeof(int), MPI _SUM ); Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_INT, sizeof(int), MPI _SUM );
} }
void void
CblacsAbsMax(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype) { CblacsAbsMax(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype) {
int i, n = *len; double *dinvec, *dinoutvec; int i, n = *len; double *dinvec, *dinoutvec;
if (MPI_DOUBLE == *datatype) { if (MPI_DOUBLE == *datatype) {
dinvec = (double *)invec; dinvec = (double *)invec;
dinoutvec = (double *)inoutvec; dinoutvec = (double *)inoutvec;
for (i = n; i; i--, dinvec++, dinoutvec++) for (i = n; i; i--, dinvec++, dinoutvec++)
skipping to change at line 548 skipping to change at line 546
* The process column of the destination of the amx. * The process column of the destination of the amx.
* If rdest == -1, then CDEST ignored. * If rdest == -1, then CDEST ignored.
*/ */
void void
Cdgamx2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt *rA, int *cA, Cdgamx2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt *rA, int *cA,
int ldia, int rdest, int cdest) { int ldia, int rdest, int cdest) {
MPI_Op op; MPI_Op op;
CBLACS_INIT; CBLACS_INIT;
if (ldia > 0) {CblacsWarn(); rA = cA; return;} /* no AMAX_LOC yet */ if (ldia > 0) {CblacsWarn(); rA = cA; return;} /* no AMAX_LOC yet */
MPI_Op_create( CblacsAbsMax, 1, &op ); MPI_Op_create( CblacsAbsMax, 1, &op );
top = top; /* user `top'ology is ignored */
Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), op ); Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), op );
MPI_Op_free( &op ); MPI_Op_free( &op );
} }
void void
Cdgamn2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt *rA, int *cA, Cdgamn2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt *rA, int *cA,
int ldia, int rdest, int cdest) { int ldia, int rdest, int cdest) {
MPI_Op op; MPI_Op op;
CBLACS_INIT; CBLACS_INIT;
if (ldia > 0) {CblacsWarn(); rA = cA; return;} /* no AMAX_LOC yet */ if (ldia > 0) {CblacsWarn(); rA = cA; return;} /* no AMAX_LOC yet */
MPI_Op_create( CblacsAbsMin, 1, &op ); MPI_Op_create( CblacsAbsMin, 1, &op );
top = top; /* user `top'ology is ignored */
Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), op ); Cvgred2d( ConTxt, scope, m, n, A, lda, rdest, cdest, MPI_DOUBLE, sizeof(double ), op );
MPI_Op_free( &op ); MPI_Op_free( &op );
} }
void void
Cblacs_dSendrecv(int ctxt, int mSrc, int nSrc, double *Asrc, int ldaSrc, int rde st, int cdest, Cblacs_dSendrecv(int ctxt, int mSrc, int nSrc, double *Asrc, int ldaSrc, int rde st, int cdest,
int mDest, int nDest, double *Adest, int ldaDest, int rsrc, int csrc) { int mDest, int nDest, double *Adest, int ldaDest, int rsrc, int csrc) {
MPI_Comm comm, rowComm; MPI_Comm comm, rowComm;
MPI_Datatype typeSrc, typeDest; MPI_Datatype typeSrc, typeDest;
MPI_Status stat; MPI_Status stat;
skipping to change at line 709 skipping to change at line 705
* A (input) Ptr to double precision two dimensional array * A (input) Ptr to double precision two dimensional array
* The m by n matrix A. Fortran77 (column-major) storage * The m by n matrix A. Fortran77 (column-major) storage
* assumed. * assumed.
* *
* LDA (input) Ptr to int * LDA (input) Ptr to int
* The leading dimension of the array A. LDA >= M. * The leading dimension of the array A. LDA >= M.
*/ */
void void
Cdgebs2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda) { Cdgebs2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda) {
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
CblacsBcast( ConTxt, scope, m, n, A, lda, -1, -1, MPI_DOUBLE ); CblacsBcast( ConTxt, scope, m, n, A, lda, -1, -1, MPI_DOUBLE );
} }
/* /*
* Purpose * Purpose
* *
* Broadcast/receive for general double precision arrays. * Broadcast/receive for general double precision arrays.
* *
* Arguments * Arguments
* *
skipping to change at line 755 skipping to change at line 750
* *
* RSRC (input) Ptr to int * RSRC (input) Ptr to int
* The process row of the source of the matrix. * The process row of the source of the matrix.
* *
* CSRC (input) Ptr to int * CSRC (input) Ptr to int
* The process column of the source of the matrix. * The process column of the source of the matrix.
*/ */
void void
Cdgebr2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt rsrc, int csrc) { Cdgebr2d(int ConTxt, char *scope, char *top, int m, int n, double *A, int lda, i nt rsrc, int csrc) {
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
CblacsBcast( ConTxt, scope, m, n, A, lda, rsrc, csrc, MPI_DOUBLE ); CblacsBcast( ConTxt, scope, m, n, A, lda, rsrc, csrc, MPI_DOUBLE );
} }
void void
Cigebs2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda) { Cigebs2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda) {
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
CblacsBcast( ConTxt, scope, m, n, A, lda, -1, -1, MPI_INT ); CblacsBcast( ConTxt, scope, m, n, A, lda, -1, -1, MPI_INT );
} }
void void
Cigebr2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda, int rsrc, int csrc) { Cigebr2d(int ConTxt, char *scope, char *top, int m, int n, int *A, int lda, int rsrc, int csrc) {
CBLACS_INIT; CBLACS_INIT;
top = top; /* user `top'ology is ignored */
CblacsBcast( ConTxt, scope, m, n, A, lda, rsrc, csrc, MPI_INT ); CblacsBcast( ConTxt, scope, m, n, A, lda, rsrc, csrc, MPI_INT );
} }
 End of changes. 8 change blocks. 
8 lines changed or deleted 0 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS