All convertors with a zero length are considered as contiguous.
This commit was SVN r19913.
Этот коммит содержится в:
родитель
d37706f6f8
Коммит
cf96404075
@ -46,6 +46,7 @@ static void ompi_convertor_construct( ompi_convertor_t* convertor )
|
|||||||
convertor->stack_size = DT_STATIC_STACK_SIZE;
|
convertor->stack_size = DT_STATIC_STACK_SIZE;
|
||||||
convertor->partial_length = 0;
|
convertor->partial_length = 0;
|
||||||
convertor->remoteArch = ompi_mpi_local_arch;
|
convertor->remoteArch = ompi_mpi_local_arch;
|
||||||
|
convertor->flags = DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ompi_convertor_destruct( ompi_convertor_t* convertor )
|
static void ompi_convertor_destruct( ompi_convertor_t* convertor )
|
||||||
@ -464,7 +465,7 @@ int32_t ompi_convertor_set_position_nocheck( ompi_convertor_t* convertor,
|
|||||||
* will not do anything. \
|
* will not do anything. \
|
||||||
*/ \
|
*/ \
|
||||||
if( OPAL_UNLIKELY((0 == count) || (0 == datatype->size)) ) { \
|
if( OPAL_UNLIKELY((0 == count) || (0 == datatype->size)) ) { \
|
||||||
convertor->flags |= CONVERTOR_COMPLETED; \
|
convertor->flags |= DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED; \
|
||||||
convertor->local_size = convertor->remote_size = 0; \
|
convertor->local_size = convertor->remote_size = 0; \
|
||||||
return OMPI_SUCCESS; \
|
return OMPI_SUCCESS; \
|
||||||
} \
|
} \
|
||||||
|
@ -154,6 +154,7 @@ static inline int ompi_convertor_cleanup( ompi_convertor_t* convertor )
|
|||||||
}
|
}
|
||||||
convertor->pDesc = NULL;
|
convertor->pDesc = NULL;
|
||||||
convertor->stack_pos = 0;
|
convertor->stack_pos = 0;
|
||||||
|
convertor->flags = DT_FLAG_NO_GAPS | CONVERTOR_COMPLETED;
|
||||||
return OMPI_SUCCESS;
|
return OMPI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,7 +225,7 @@ ompi_convertor_copy_and_prepare_for_send( const ompi_convertor_t* pSrcConv,
|
|||||||
ompi_convertor_t* convertor )
|
ompi_convertor_t* convertor )
|
||||||
{
|
{
|
||||||
convertor->remoteArch = pSrcConv->remoteArch;
|
convertor->remoteArch = pSrcConv->remoteArch;
|
||||||
convertor->flags = (pSrcConv->flags | flags);
|
convertor->flags = pSrcConv->flags | flags;
|
||||||
convertor->master = pSrcConv->master;
|
convertor->master = pSrcConv->master;
|
||||||
|
|
||||||
return ompi_convertor_prepare_for_send( convertor, datatype, count, pUserBuf );
|
return ompi_convertor_prepare_for_send( convertor, datatype, count, pUserBuf );
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user