[mpich-devel] datatype accessors with uncommited datatypes

Lisandro Dalcin dalcinl at gmail.com
Thu Dec 27 10:50:00 CST 2012


My understanding of the MPI standard is that datatype committing is
only required for communication, but not for calls like
MPI_Type_size_x(). I'm testing mpi4py with mpich-3.0.1, and getting
the following errors (IIRC, 3.0rc1 did not have this issue)

mpi4py.MPI.Exception: Invalid datatype, error stack:
PMPI_Type_size_x(125):  MPI_Type_size_x(datatype=dtype=USER<vector>,
size=0x7fffeb4ef658)
PMPI_Type_size_x(98).: Datatype has not been committed


mpi4py.MPI.Exception: Invalid datatype, error stack:
PMPI_Type_get_extent_x(128):
MPI_Type_get_extent_x(datatype=dtype=USER<struct>, lb=0x7fff97046bb0,
extent=0x7fff97046bb8)
PMPI_Type_get_extent_x(102): Datatype has not been committed

Looking more closely to type_size_x.c and type_size.c in
src/mpi/datatype/, I see MPID_Datatype_committed_ptr() in the former,
but not in the later. IMHO, these checks should be removed from
type_size_x.c, type_get_extent_x.c, and type_get_true_extent_x.c
(please not I'm not listing get_elements_x.c, this is a different
beast)

Thanks,

--
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
3000 Santa Fe, Argentina
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169


More information about the devel mailing list