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

Reply via email to