-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#define ENABLE_FORCED_FAILURES
using namespace std;
-using namespace ParaMEDMEM;
+using namespace MEDCoupling;
void MPIAccessDECTest::test_AllToAllvTimeDECSynchronousNative() {
test_AllToAllvTimeDEC( false , true ) ;
test_AllToAllvTimeDEC( true , false ) ;
}
-static void chksts( int sts , int myrank , ParaMEDMEM::MPIAccess * mpi_access ) {
+static void chksts( int sts , int myrank , MEDCoupling::MPIAccess * mpi_access ) {
char msgerr[MPI_MAX_ERROR_STRING] ;
int lenerr ;
if ( sts != MPI_SUCCESS ) {
mpi_access->errorString(sts, msgerr, &lenerr) ;
- cout << "test_AllToAllvTimeDEC" << myrank << " lenerr " << lenerr << " "
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " lenerr " << lenerr << " "
<< msgerr << endl ;
ostringstream strstream ;
strstream << "==========================================================="
<< "test_AllToAllvTimeDEC" << myrank << " KO"
<< "==========================================================="
<< endl ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
return ;
void MPIAccessDECTest::test_AllToAllvTimeDEC( bool Asynchronous , bool UseMPINative ) {
- cout << "test_AllToAllvTimeDEC" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << endl ;
// MPI_Init(&argc, &argv) ;
strstream << "usage :" << endl
<< "mpirun -np <nbprocs> test_AllToAllTimeDEC" << endl
<< " (nbprocs >=2)" << endl
- << "test must be runned with more than 1 proc and less than 12 procs"
+ << "test must be run with more than 1 proc and less than 12 procs"
<< endl ;
- cout << strstream.str() << endl ;
+ cerr << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
// UseMPI_Alltoallv = atoi(argv[2]) ;
// }
- cout << "test_AllToAllvTimeDEC" << myrank << " Asynchronous " << Asynchronous
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Asynchronous " << Asynchronous
<< " UseMPI_Alltoallv " << UseMPI_Alltoallv << endl ;
- ParaMEDMEM::CommInterface interface ;
+ MEDCoupling::CommInterface interface ;
std::set<int> sourceprocs;
std::set<int> targetprocs;
int i ;
targetprocs.insert(i);
}
- ParaMEDMEM::MPIProcessorGroup* sourcegroup = new ParaMEDMEM::MPIProcessorGroup(interface,sourceprocs) ;
- ParaMEDMEM::MPIProcessorGroup* targetgroup = new ParaMEDMEM::MPIProcessorGroup(interface,targetprocs) ;
+ MEDCoupling::MPIProcessorGroup* sourcegroup = new MEDCoupling::MPIProcessorGroup(interface,sourceprocs) ;
+ MEDCoupling::MPIProcessorGroup* targetgroup = new MEDCoupling::MPIProcessorGroup(interface,targetprocs) ;
// TimeInterpolator * aLinearInterpDEC = new LinearTimeInterpolator( 0.5 ) ;
MPIAccessDEC * MyMPIAccessDEC = new MPIAccessDEC( *sourcegroup , *targetgroup ,
MyMPIAccessDEC->setTimeInterpolator( LinearTimeInterp , 0.5 ) ;
MPIAccess * mpi_access = MyMPIAccessDEC->getMPIAccess() ;
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
mpi_access->barrier() ;
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
#define maxproc 11
#define maxreq 10000
// MyMPIAccessDEC->NextTime( nextdeltatime ) ;
}
MyMPIAccessDEC->setTime( timeLoc , nextdeltatime ) ;
- cout << "test_AllToAllvTimeDEC" << myrank << "=====TIME " << time << "=====DELTATIME "
+ debugStream << "test_AllToAllvTimeDEC" << myrank << "=====TIME " << timeLoc << "=====DELTATIME "
<< nextdeltatime << "=====MAXTIME " << maxtime << " ======" << endl ;
int * sendbuf = new int[datamsglength*size] ;
// int * sendbuf = (int *) malloc(sizeof(int)*datamsglength*size) ;
aRecvTimeMessage, recvtimecounts , rtimedispls ,
mpi_access->timeType() , *comm ) ;
// for ( j = 0 ; j < size ; j++ ) {
- // cout << "test_AllToAllvTimeDEC" << myrank << " TimeMessage received " << j << " "
+ // debugStream << "test_AllToAllvTimeDEC" << myrank << " TimeMessage received " << j << " "
// << aRecvTimeMessage[j] << endl ;
// }
delete aSendTimeMessage ;
delete [] sendbuf ;
}
else {
- int sts = MyMPIAccessDEC->allToAllvTime( sendbuf, sendcounts , sdispls , MPI_INT ,
+ int sts2 = MyMPIAccessDEC->allToAllvTime( sendbuf, sendcounts , sdispls , MPI_INT ,
recvbuf, recvcounts , rdispls , MPI_INT ) ;
- chksts( sts , myrank , mpi_access ) ;
+ chksts( sts2 , myrank , mpi_access ) ;
}
- // cout << "test_AllToAllvTimeDEC" << myrank << " recvbuf before CheckSent" ;
+ // debugStream << "test_AllToAllvTimeDEC" << myrank << " recvbuf before CheckSent" ;
// for ( i = 0 ; i < datamsglength*size ; i++ ) {
- // cout << " " << recvbuf[i] ;
+ // debugStream << " " << recvbuf[i] ;
// }
- // cout << endl ;
+ // debugStream << endl ;
- // cout << "test_AllToAllvTimeDEC" << myrank << " sendbuf " << sendbuf << endl ;
+ // debugStream << "test_AllToAllvTimeDEC" << myrank << " sendbuf " << sendbuf << endl ;
// MyMPIAccessDEC->CheckSent() ;
int nRecvReq = mpi_access->recvRequestIdsSize() ;
int nReq = mpi_access->recvRequestIds( nRecvReq, ArrayOfRecvRequests ) ;
mpi_access->waitAll( nReq , ArrayOfRecvRequests ) ;
delete [] ArrayOfRecvRequests ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
- // cout << "test_AllToAllvTimeDEC" << myrank << " check of recvbuf" << endl ;
+ // debugStream << "test_AllToAllvTimeDEC" << myrank << " check of recvbuf" << endl ;
bool badrecvbuf = false ;
for ( i = 0 ; i < size ; i++ ) {
- int j ;
- for ( j = 0 ; j < datamsglength ; j++ ) {
- int index = i*datamsglength+j ;
- if ( j < recvcounts[i] ) {
+ for ( int jj = 0 ; jj < datamsglength ; jj++ ) {
+ int index = i*datamsglength+jj ;
+ if ( jj < recvcounts[i] ) {
if ( recvbuf[index] != (index/datamsglength)*1000000 + myrank*1000 +
myrank*datamsglength+(index%datamsglength) ) {
badrecvbuf = true ;
- cout << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
<< recvbuf[index] << " # " << (index/datamsglength)*1000000 +
myrank*1000 +
myrank*datamsglength+(index%datamsglength) << endl ;
}
else if ( badrecvbuf ) {
- cout << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
<< recvbuf[index] << " == " << (index/datamsglength)*1000000 +
myrank*1000 +
myrank*datamsglength+(index%datamsglength) << endl ;
}
else if ( recvbuf[index] != -1 ) {
badrecvbuf = true ;
- cout << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " recvbuf[" << index << "] "
<< recvbuf[index] << " # -1" << endl ;
}
}
<< "test_AllToAllvTimeDEC" << myrank << " badrecvbuf"
<< endl << "============================================================="
<< endl ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
delete [] recvbuf ;
}
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
mpi_access->barrier() ;
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
- cout << "test_AllToAllvTimeDEC" << myrank << " CheckFinalSent" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " CheckFinalSent" << endl ;
sts = MyMPIAccessDEC->checkFinalSent() ;
if ( sts != MPI_SUCCESS ) {
ostringstream strstream ;
<< "test_AllToAllvTimeDEC" << myrank << " final CheckSent ERROR"
<< endl << "================================================================"
<< endl ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
- cout << "test_AllToAllvTimeDEC" << myrank << " CheckFinalRecv" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " CheckFinalRecv" << endl ;
sts = MyMPIAccessDEC->checkFinalRecv() ;
if ( sts != MPI_SUCCESS ) {
ostringstream strstream ;
<< "test_AllToAllvTimeDEC" << myrank << " CheckFinalRecv ERROR"
<< endl << "================================================================"
<< endl ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
<< " RecvRequests # 0 Error"
<< endl << "==============================================================="
<< endl ;
- cout << strstream.str() << endl ;
+ debugStream << strstream.str() << endl ;
CPPUNIT_FAIL( strstream.str() ) ;
}
else {
- cout << "test_AllToAllvTimeDEC" << myrank << " RecvRequestIds " << nRecvReq
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " RecvRequestIds " << nRecvReq
<< " RecvRequests = 0 OK" << endl ;
}
time_t endtime = time(NULL) ;
- cout << "test_AllToAllvTimeDEC" << myrank << " begintime " << begintime << " endtime " << endtime
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " begintime " << begintime << " endtime " << endtime
<< " elapse " << endtime-begintime << " " << maxtime/deltatime[myrank]
<< " calls to AllToAll" << endl ;
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier :" << endl ;
mpi_access->barrier() ;
- cout << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " Barrier done" << endl ;
delete sourcegroup ;
delete targetgroup ;
endtime = time(NULL) ;
- cout << "test_AllToAllvTimeDEC" << myrank << " OK begintime " << begintime << " endtime " << endtime
+ debugStream << "test_AllToAllvTimeDEC" << myrank << " OK begintime " << begintime << " endtime " << endtime
<< " elapse " << endtime-begintime << " " << maxtime/deltatime[myrank]
<< " calls to AllToAll" << endl ;