int MPIAccess::cancel( int source, int theMPITag, MPI_Datatype datatype, int outcount, int &flag )
{
int sts ;
- MPI_Aint extent ;
+ MPI_Aint extent, lbound ;
flag = 0 ;
- sts = MPI_Type_get_extent( datatype , &extent ) ;
+ sts = MPI_Type_get_extent( datatype , &lbound, &extent ) ;
if ( sts == MPI_SUCCESS )
{
void * recvbuf = malloc( extent*outcount ) ;
// Returns the MPI size of a TimeMessage
MPI_Aint MPIAccess::timeExtent() const
{
- MPI_Aint aextent ;
- MPI_Type_get_extent( _MPI_TIME , &aextent ) ;
+ MPI_Aint aextent, lbound ;
+ MPI_Type_get_extent( _MPI_TIME , &lbound, &aextent ) ;
return aextent ;
}
// Returns the MPI size of a MPI_INT
MPI_Aint MPIAccess::intExtent() const
{
- MPI_Aint aextent ;
- MPI_Type_get_extent( MPI_INT , &aextent ) ;
+ MPI_Aint aextent, lbound ;
+ MPI_Type_get_extent( MPI_INT , &lbound, &aextent ) ;
return aextent ;
}
// Returns the MPI size of a MPI_DOUBLE
MPI_Aint MPIAccess::doubleExtent() const
{
- MPI_Aint aextent ;
- MPI_Type_get_extent( MPI_DOUBLE , &aextent ) ;
+ MPI_Aint aextent, lbound ;
+ MPI_Type_get_extent( MPI_DOUBLE , &lbound, &aextent ) ;
return aextent ;
}