Welcome to the MPI Forum! We’re happy to have new people join the group and get involved. Hopefully this page can help with a quick understanding of who we are as an org and how we operate.

What is the MPI Forum?

The MPI Forum is a mostly-volunteer organization the discusses and writes the MPI Standard document. Participants in the MPI Forum join working groups, discuss ideas in plenary sessions, and write and vote on proposals both at our in-person meetings and our online sessions.

Membership in the MPI Forum has no cost and is open to everyone (though we do charge a small fee to offset the cost of our in-person meetings). Members can immediately participate in any working groups or plenaries that they find interesting.

Voting rights are reserved for organizations that have sent representatives to two of the most recent three meetings. Aside from any particular meeting’s fee, there is no fee associated with membership. The exact rules for how an organization is able to vote can be found in the procedures document.

How Does a Change Go Into the MPI Standard?

To make a change to the MPI Standard, the concept must go through a series of steps:

1. Working Group Discussion

While this isn’t strictly necessary, all substantive changes are recommended to be discussed in a working group first to give the author an opportunity to get feedback from interested and knowledgeable participants. To find a relevant working group, see the list on the most recent effort’s page. If none of the working groups seem relevant, you can create a new one by asking the chair to put an item on the next meeting’s agenda.

At this point, it’s a good idea to create an issue in the MPI Forum’s GitHub repository as a place to have and track discussions about the proposal.

2. Present Idea to the MPI Forum in a Plenary Discussion or Virtual Meeting

When an idea has reached enough maturity to warrant discussion with the entire MPI Forum, reach out to the MPI Forum Chair to schedule a plenary at an upcoming voting meeting or a virtual meeting to socialize the proposal. This will give early feedback before writing a more formal proposal later.

3. Write the Proposal Text

When the proposal idea has enough feedback that it’s ready for further discussion, it’s time to turn the idea into MPI Standard text. The MPI Forum uses GitHub to track all of our work and details about how we organize things can be found in our wiki page. Examples of how to create a proposal are also available there.

Once the proposal has been written, the working group should continue to iterate on it until they believe it is ready to bring to the entire forum. In addition to getting the general concepts right, the MPI Forum will also look at nitpicky details to ensure the document is high quality so be sure to proofread carefully.

4. Read the Proposal to the MPI Forum

Once the proposal has been written and discussed within the working group, the author will read the proposal to the MPI Forum for comment. This is meant literally and the author will read (either from the pull request or a generated PDF) the changes being proposed. This reading takes place at a voting meeting of the MPI Forum.

After the reading, the author should take any feedback back to the working group and make any changes they think are necessary. If the changes are significant, the proposal should be re-read at a future voting meeting. If the changes are trivial or there are no changes, the proposal can move to the next step.

5. Vote on the Proposal

When the author thinks the proposal has sufficient support based on the readings, the proposal is submitted for voting. Voting takes place at some meeting after the meeting where the proposal was read (with the exception of errata proposal for small corrections).

Each member organization of the MPI Forum gets one vote for each proposal. If the ballot meets quorum (there are not too many abstentions) and 3/4 of the voting orgs vote “yes”, the ballot passes (there’s a lot of detail being omitted, but can be found in the procedures document). The vote is then repeated at a future meeting. After the second vote passes, the proposal is accepted and will be included in the next version of the MPI Standard.

How Does the MPI Forum Decide What to Discuss?

The agenda for each meeting is determined by the members. Discussions, plenary topics, readings, and votes are all requested by the members of the MPI Forum and organized by the MPI Forum Chair and Secretary. The agenda for each voting meeting can be found on the meeting’s agenda page. A list of all voting meetings is available here.

Requests for readings and votes are due two weeks before the start of the meeting, and the agenda for each meeting is posted on the website shortly after.

How Can I Participate?

Getting involved in the MPI Forum only requires an interest in improving MPI. Participating in working groups and virtual meetings has no cost and information can be found on our website. For information about upcoming virtual meetings, look at the virtual meetings page. Information about the working groups can be found from each working group’s mailing list or wiki page.

To join a voting meeting, you only need to register for the meeting. If the meeting is in-person, there may be a small fee to offset the cost of the refreshments or meeting space. Registration information for each meeting can be found on the meeting’s logistics page. A list of all meetings can be found on the voting meetings page.

To stay up to date with all MPI Forum announcements, join the MPI Forum mailing list.