Correctly use the new convertor. Now we have 2 generic predefined convertors. One is for
the external32 conversions (as specified in the MPI standard) the other one is the local convertor that can be used for MPI_Pack and MPI_Unpack functions. This commit was SVN r6375.
Этот коммит содержится в:
родитель
11f1f067c2
Коммит
a7aa1a76bc
@ -61,8 +61,10 @@ int MPI_Pack(void *inbuf, int incount, MPI_Datatype datatype,
|
||||
}
|
||||
}
|
||||
|
||||
OBJ_CONSTRUCT( &local_convertor, ompi_convertor_t );
|
||||
/* the resulting convertor will be set to the position ZERO */
|
||||
ompi_convertor_copy_and_prepare_for_send( NULL, datatype, incount, inbuf, &local_convertor );
|
||||
ompi_convertor_copy_and_prepare_for_send( ompi_mpi_local_convertor, datatype,
|
||||
incount, inbuf, &local_convertor );
|
||||
|
||||
/* Check for truncation */
|
||||
ompi_convertor_get_packed_size( &local_convertor, &size );
|
||||
|
@ -53,8 +53,9 @@ int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm,
|
||||
}
|
||||
}
|
||||
|
||||
OBJ_CONSTRUCT( &local_convertor, ompi_convertor_t );
|
||||
/* the resulting convertor will be set to the position ZERO */
|
||||
ompi_convertor_copy_and_prepare_for_send( NULL, datatype, incount, NULL, &local_convertor );
|
||||
ompi_convertor_copy_and_prepare_for_send( ompi_mpi_local_convertor, datatype, incount, NULL, &local_convertor );
|
||||
|
||||
ret = ompi_convertor_get_packed_size( &local_convertor, &length );
|
||||
*size = (int)length;
|
||||
|
@ -65,8 +65,9 @@ int MPI_Unpack(void *inbuf, int insize, int *position,
|
||||
}
|
||||
}
|
||||
|
||||
OBJ_CONSTRUCT( &local_convertor, ompi_convertor_t );
|
||||
/* the resulting convertor will be set the the position ZERO */
|
||||
ompi_convertor_copy_and_prepare_for_recv( NULL, datatype, outcount, outbuf, &local_convertor );
|
||||
ompi_convertor_copy_and_prepare_for_recv( ompi_mpi_local_convertor, datatype, outcount, outbuf, &local_convertor );
|
||||
|
||||
/* Check for truncation */
|
||||
ompi_convertor_get_packed_size( &local_convertor, &size );
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user