<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
The sessions working group is working on a proposal that, among other things, would change the way MPI_COMM_WORLD works. As much as I don't want to take things out of context for those who aren't familiar with the proposal, I'm not going to summarize the whole
 thing here. If you need that, look here: <a href="https://github.com/mpiwg-sessions/sessions-issues/wiki/sessions_cheat_sheet" class="">https://github.com/mpiwg-sessions/sessions-issues/wiki/sessions_cheat_sheet</a>
<div class=""><br class="">
</div>
<div class="">On today's call, we were trying to decide the result of a backward compatibility break for the MPI_COMM_WORLD symbol. We want to keep the MPI_COMM_WORLD symbol to allow legacy codes to work, but we don't want to make it a compiler symbol anymore.
 It would only exist if you call MPI_INIT. To that end, MPI_INIT would look something like this:</div>
<div class=""><br class="">
</div>
<div class=""><font face="Menlo" class="">MPI_Init(...) {</font></div>
<div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre"></span>MPI_Comm *comm;</font></div>
<div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre"></span>MPI_Session *session;</font></div>
<div class=""><font face="Menlo" class=""><br class="">
</font></div>
<div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre"></span>MPI_Session_init(..., session);</font></div>
<div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre"></span>MPI_Group_create_from_session_name(&session, "<a href="mpi://WOLRD" class="">mpi://WOLRD</a>", comm);</font></div>
<div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre"></span>MPI_COMM_WORLD = *comm;</font></div>
<div class=""><font face="Menlo" class="">}</font></div>
<div class=""><br class="">
</div>
<div class="">The problem here is that MPI_COMM_WORLD is no longer the compile-time constant that it was before. For example, if you're using MPI_COMM_WORLD in a library, this would cause problems.</div>
<div class=""><br class="">
</div>
<div class="">The working group is trying to figure out the results of this to decide whether this would cause horrible problems. It seems that as long as applications are reasonably well behaved and check if the library is initialized first, they should work
 correctly.</div>
<div class=""><br class="">
</div>
<div class="">What is this community's opinion of this?</div>
<div class=""><br class="">
</div>
<div class="">Thanks,<br class="">
Wesley</div>
</body>
</html>