Skip to content

Clarify/fix description and usage of MPI_GROUP_NULL  #534

@cniethammer

Description

@cniethammer

Problem

MPI 4.0 Section 7.2.1 on page 314 defines the invalid group handle MPI_GROUP_NULL. It includes the following advice to users stating:

Advice to users. 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, is not a valid argument. (End of advice to users.)

The sessions model introduced the new function MPI_Group_from_session_pset that returns MPI_GROUP_NULL if a passed pset name is not known. Example 11.9 shows its usage. In this example the variable wgroup is initialized with the value MPI_GROUP_NULL and passed to MPI_Group_from_session_pset later unmodified.

So there are two issues for me with this:

  • Example 11.9 uses an invalid group handle as argument, which contradicts the advice to users in 7.2.1.
  • With MPI 4.0 MPI_GROUP_NULL can originate also from another function call, i.e., MPI_Group_from_session_pset, so it is not only returned when a group is freed as stated in the Advice to users.

Impact on Implementations

  • Clarify usage of MPI_GROUP_NULL

Impact on Users

  • Clarify usage of MPI_GROUP_NULL

References and Pull Requests

MPI 4.0 Section 7.2.1, Section 7.3.2, and Example 11.9

Metadata

Metadata

Assignees

Labels

[done] mpi-4.1For inclusion in the MPI 4.1 standardchap-contextsGroups, Contexts, Communicators, Caching Chapter Committeehad readingCompleted the formal proposal readingpassed final votePassed the final formal votepassed first votePassed the first formal votewg-sessionsSessions Working Group

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions