well, the best I could find is the following in section 5.2.1
"MPI_GROUP_EMPTY, which is a valid handle to an empty group, should not
be confused with MPI_GROUP_NULL, which in turn is an invalid handle. The
former may be used as an argument to group operations; the latter, which
is returned when a group is freed, in not a valid argument. ( End of
advice to users.) "
Jeff Squyres wrote:
So the changes that we debated and had Edgar put in *do* break some
intel tests. Doh! :-(
MPI_Group_compare_f
MPI_Group_intersection2_c
MPI_Group_intersection2_f
It looks like these tests are specifically calling MPI_GROUP_FREE on
MPI_GROUP_EMPTY.
I note that there is code in the ompi/group/group_*.c code that
specifically calls OBJ_RETAIN on ompi_group_empty when we return
MPI_GROUP_EMPTY. I wonder if this RETAIN was added (and the MPI param
check removed) in reaction to the intel tests...?
Can someone cite again where we thought the spec said that we should
not free GROUP_EMPTY? Was is just on the argument that it's a
predefined handle and therefore should never be freed?
I cannot find any specific text in 1.2 or the errata stating that it's
bad to free GROUP_EMPTY. I agree that this is somewhat counter to the
rest of the MPI philosophy of not freeing predefined handles, though.
--
Edgar Gabriel
Assistant Professor
Parallel Software Technologies Lab http://pstl.cs.uh.edu
Department of Computer Science University of Houston
Philip G. Hoffman Hall, Room 524 Houston, TX-77204, USA
Tel: +1 (713) 743-3857 Fax: +1 (713) 743-3335