Salome HOME
projects
/
tools
/
medcoupling.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implementation of ParaUMesh::getCellIdsLyingOnNodes
[tools/medcoupling.git]
/
src
/
ParaMEDMEM
/
MPIAccessDEC.cxx
diff --git
a/src/ParaMEDMEM/MPIAccessDEC.cxx
b/src/ParaMEDMEM/MPIAccessDEC.cxx
index f88fc22a0c1100546bb56393c1acf1a9cb46d307..f6bd1732575d8c577b364d029b0278151df4aa5e 100644
(file)
--- a/
src/ParaMEDMEM/MPIAccessDEC.cxx
+++ b/
src/ParaMEDMEM/MPIAccessDEC.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
5
CEA/DEN, EDF R&D
+// Copyright (C) 2007-201
9
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
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-152,6
+152,11
@@
namespace MEDCoupling
sts = _MPI_access->ISend( &((int *) sendbuf)[offset] , sendcount , sendtype ,
target , SendRequestId ) ;
}
sts = _MPI_access->ISend( &((int *) sendbuf)[offset] , sendcount , sendtype ,
target , SendRequestId ) ;
}
+ else if ( sendtype == MPI_LONG )
+ {
+ sts = _MPI_access->ISend( &((long *) sendbuf)[offset] , sendcount , sendtype ,
+ target , SendRequestId ) ;
+ }
else
{
sts = _MPI_access->ISend( &((double *) sendbuf)[offset] , sendcount , sendtype ,
else
{
sts = _MPI_access->ISend( &((double *) sendbuf)[offset] , sendcount , sendtype ,
@@
-165,6
+170,11
@@
namespace MEDCoupling
sts = _MPI_access->send( &((int *) sendbuf)[offset] , sendcount , sendtype ,
target , SendRequestId ) ;
}
sts = _MPI_access->send( &((int *) sendbuf)[offset] , sendcount , sendtype ,
target , SendRequestId ) ;
}
+ else if ( sendtype == MPI_LONG )
+ {
+ sts = _MPI_access->send( &((long *) sendbuf)[offset] , sendcount , sendtype ,
+ target , SendRequestId ) ;
+ }
else
{
sts = _MPI_access->send( &((double *) sendbuf)[offset] , sendcount , sendtype ,
else
{
sts = _MPI_access->send( &((double *) sendbuf)[offset] , sendcount , sendtype ,
@@
-192,6
+202,11
@@
namespace MEDCoupling
sts = _MPI_access->IRecv( &((int *) recvbuf)[offset] , recvcount , recvtype ,
target , RecvRequestId ) ;
}
sts = _MPI_access->IRecv( &((int *) recvbuf)[offset] , recvcount , recvtype ,
target , RecvRequestId ) ;
}
+ else if ( recvtype == MPI_LONG )
+ {
+ sts = _MPI_access->IRecv( &((long *) recvbuf)[offset] , recvcount , recvtype ,
+ target , RecvRequestId ) ;
+ }
else
{
sts = _MPI_access->IRecv( &((double *) recvbuf)[offset] , recvcount , recvtype ,
else
{
sts = _MPI_access->IRecv( &((double *) recvbuf)[offset] , recvcount , recvtype ,
@@
-205,6
+220,11
@@
namespace MEDCoupling
sts = _MPI_access->recv( &((int *) recvbuf)[offset] , recvcount , recvtype ,
target , RecvRequestId ) ;
}
sts = _MPI_access->recv( &((int *) recvbuf)[offset] , recvcount , recvtype ,
target , RecvRequestId ) ;
}
+ else if ( recvtype == MPI_LONG )
+ {
+ sts = _MPI_access->recv( &((long *) recvbuf)[offset] , recvcount , recvtype ,
+ target , RecvRequestId ) ;
+ }
else
{
sts = _MPI_access->recv( &((double *) recvbuf)[offset] , recvcount , recvtype ,
else
{
sts = _MPI_access->recv( &((double *) recvbuf)[offset] , recvcount , recvtype ,
@@
-441,12
+461,12
@@
namespace MEDCoupling
. We assume that buffers are allocated with a new double[]. so a
delete [] is done.
. We assume that buffers are allocated with a new double[]. so a
delete [] is done.
- . The structure SendBuffStruct permit to keep the adress of the buffer
+ . The structure SendBuffStruct permit to keep the ad
d
ress of the buffer
and to manage a reference counter of that buffer. It contains
also MPI_Datatype for the delete [] (double *) ... when the counter
is null.
and to manage a reference counter of that buffer. It contains
also MPI_Datatype for the delete [] (double *) ... when the counter
is null.
- . The map _MapOfSendBuffers e
tablish the corresponda
nce between each
+ . The map _MapOfSendBuffers e
stablish the corresponde
nce between each
RequestId given by a MPI_Access->ISend(...) and a SendBuffStruct
for each "target" of a part of the buffer.
RequestId given by a MPI_Access->ISend(...) and a SendBuffStruct
for each "target" of a part of the buffer.
@@
-565,7
+585,7
@@
namespace MEDCoupling
{
for ( target = 0 ; target < _group_size ; target++ )
{
{
for ( target = 0 ; target < _group_size ; target++ )
{
- int recvsize =
recvcount*_MPI_access->extent( recvtype )
;
+ int recvsize =
(int)(recvcount*_MPI_access->extent( recvtype ))
;
checkTime( recvcount , recvtype , target , false ) ;
//===========================================================================
//TODO : it is assumed actually that we have only 1 timestep before and after
checkTime( recvcount , recvtype , target , false ) ;
//===========================================================================
//TODO : it is assumed actually that we have only 1 timestep before and after
@@
-714,7
+734,7
@@
namespace MEDCoupling
{
if ( recvcounts[target] )
{
{
if ( recvcounts[target] )
{
- int recvsize =
recvcounts[target]*_MPI_access->extent( recvtype )
;
+ int recvsize =
(int)(recvcounts[target]*_MPI_access->extent( recvtype ))
;
checkTime( recvcounts[target] , recvtype , target , false ) ;
//===========================================================================
//TODO : it is assumed actually that we have only 1 timestep before nad after
checkTime( recvcounts[target] , recvtype , target , false ) ;
//===========================================================================
//TODO : it is assumed actually that we have only 1 timestep before nad after