This particular test from MPICH fails : https://github.com/pmodels/mpich/blob/master/test/mpi/f77/datatype/typesnamef.f
$ mpirun -n 1 ./typesnamef (type2) Expected length 0, got 17 (type2) Datatype name is not all blank Found 2 errors The test case expects the duplicated datatype's name to be blank soon after duplication. I could see in open-mpi we are actually duplicating the old datatype name in MPI_Type_Dup and pre-pending it with string "Dup" https://github.com/open-mpi/ompi/blob/872cf44c28203fcb21838b0705d5b9c85c3e1407/ompi/datatype/ompi_datatype_create.c#L111 According to the MPI Standard v3.1 On Page 111: "MPI_TYPE_DUP is a type constructor which duplicates the existing oldtype with associated key values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new datatype. Returns in newtype a new datatype with exactly the same properties as oldtype and any copied cached information, see Section 6.7.4. The new datatype has identical upper bound and lower bound and yields the same net result when fully decoded with the functions in Section 4.1.13. The newtype has the same committed state as the old oldtype. *"Returns in newtype a new datatype with exactly the same properties as oldtype"* Any information on how this spec must be interpreted? Should we consider datatype name as a property? - Aboorva
_______________________________________________ devel mailing list [email protected] https://rfd.newmexicoconsortium.org/mailman/listinfo/devel
