X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FParaMEDMEM%2FMPIAccessDEC.cxx;h=ebbf4bb061fd9d5dd32fa05ac1da93b6df025032;hb=7e632de173a3f7701ed288471c5de2bc0f55dbc3;hp=d05698790a44b50d78d530221d9296a1f6b4cf7b;hpb=48782c06022ca2caa36f849cb5a29ea4fe2aaa83;p=tools%2Fmedcoupling.git diff --git a/src/ParaMEDMEM/MPIAccessDEC.cxx b/src/ParaMEDMEM/MPIAccessDEC.cxx index d05698790..ebbf4bb06 100644 --- a/src/ParaMEDMEM/MPIAccessDEC.cxx +++ b/src/ParaMEDMEM/MPIAccessDEC.cxx @@ -1,27 +1,29 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D +// Copyright (C) 2007-2016 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. +// 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, 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 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #include "MPIAccessDEC.hxx" +#include + using namespace std; -namespace ParaMEDMEM +namespace MEDCoupling { /*! @@ -49,8 +51,8 @@ namespace ParaMEDMEM { procs.insert(i) ; } - MPIProcessorGroup *mpilg = (MPIProcessorGroup *)&source_group; - _MPI_union_group = new ParaMEDMEM::MPIProcessorGroup( union_group->getCommInterface(),procs,mpilg->getWorldComm()); + MPIProcessorGroup *mpilg = static_cast(const_cast(&source_group)); + _MPI_union_group = new MEDCoupling::MPIProcessorGroup( union_group->getCommInterface(),procs,mpilg->getWorldComm()); delete union_group ; _my_rank = _MPI_union_group->myRank() ; _group_size = _MPI_union_group->size() ; @@ -73,7 +75,6 @@ namespace ParaMEDMEM _data_messages->resize( _group_size ) ; _time_interpolator = NULL ; _map_of_send_buffers = new map< int , SendBuffStruct * > ; - cout << "MPIAccessDEC" << _my_rank << " Asynchronous " << _asynchronous << endl ; } MPIAccessDEC::~MPIAccessDEC() @@ -102,10 +103,6 @@ namespace ParaMEDMEM double InterpPrecision, int nStepBefore, int nStepAfter ) { - cout << "MPIAccessDEC::SetTimeInterpolator" << _my_rank << " Asynchronous " - << _asynchronous << " TimeInterpolationMethod " << aTimeInterp - << " InterpPrecision " << InterpPrecision << " nStepBefore " << nStepBefore - << " nStepAfter " << nStepAfter << endl ; if ( _time_interpolator ) delete _time_interpolator ; switch ( aTimeInterp ) @@ -300,10 +297,6 @@ namespace ParaMEDMEM } else { - cout << "SendRecv" << _my_rank << " target " << target << " sendbuf " - << &((double *) sendbuf)[sendoffset] << " sendcount " << sendcount - << " recvbuf " << &((double *) recvbuf)[recvoffset] << " recvcount " - << recvcount << endl ; sts = _MPI_access->sendRecv( &((double *) sendbuf)[sendoffset] , sendcount , sendtype , target , SendRequestId , &((double *) recvbuf)[recvoffset] , @@ -575,7 +568,7 @@ namespace ParaMEDMEM int recvsize = recvcount*_MPI_access->extent( recvtype ) ; checkTime( recvcount , recvtype , target , false ) ; //=========================================================================== - //TODO : it is assumed actually that we have only 1 timestep before nad after + //TODO : it is assumed actually that we have only 1 timestep before and after //=========================================================================== if ( _time_interpolator && (*_time_messages)[target][0].time != -1 ) { @@ -909,10 +902,13 @@ namespace ParaMEDMEM { if ( WithWait ) { - cout << "CheckSent" << _my_rank << " " << i << "./" << nSendRequest - << " SendRequestId " << ArrayOfSendRequests[i] << " MPITarget " - << _MPI_access->MPITarget(ArrayOfSendRequests[i]) << " MPITag " - << _MPI_access->MPITag(ArrayOfSendRequests[i]) << " Wait :" << endl ; + if (SendTrace) + { + cout << "CheckSent" << _my_rank << " " << i << "./" << nSendRequest + << " SendRequestId " << ArrayOfSendRequests[i] << " MPITarget " + << _MPI_access->MPITarget(ArrayOfSendRequests[i]) << " MPITag " + << _MPI_access->MPITag(ArrayOfSendRequests[i]) << " Wait :" << endl ; + } sts = _MPI_access->wait( ArrayOfSendRequests[i] ) ; } else