[mpiwg-sessions] Slides from previous meeting

Dan Holmes danholmes at chi.scot
Tue Jan 11 11:53:19 CST 2022

Hi Martin,

Thanks (and thanks to Dominik).

One clarification that jumps out at me and is, IMHO, worth pointing out to reduce confusion (or start an argument):

The question “Blocking?” in the table on slide 8 should probably be “May it block?” in plain English, which is “Nonlocal?” in MPI terms.

(Note: blocking procedure <=> NOT nonblocking procedure <=> NOT (incomplete procedure AND local procedure) <=> completing procedure OR nonlocal procedure)

I expect that the new procedures accept_res_change/confirm_res_change are both completing procedures (because the user can use the output value of new_pset immediately upon return of the procedure), so they are definitely blocking procedures in MPI terms.

The question “Nonlocal?” is still interesting though.

All collective MPI operations are permitted to synchronise and are, therefore, nonlocal operations (meaning it is permitted for a valid implementation of MPI to delay completion of the operation at any involved MPI process until all involved MPI processes have started the operation).

A single procedure that does all four stages of a collective operation must therefore be a nonlocal procedure (meaning it is permitted for a valid implementation of MPI to delay the return of the procedure at any involved MPI process until all involved MPI processes have called the procedure).

The user must code as though the procedure synchronises with all involved MPI processes every time it is called.
The implementation is free to synchronise if it feels like it, or it can locally complete the operation and return from the procedure before knowing that other MPI processes have called it as long as it can fulfil the semantics of the operation as far as the local MPI process is concerned.

OTOH, the answers given in the table seem to be addressing a different question of “Must it block?” which is not an MPI semantic that has a named term but could expressed as “Must it synchronise?” in MPI terms. That is a question we don’t usually ask because it is an implementation design decision and not something that the MPI Standard tries to control or specify.

Dr Daniel Holmes PhD
Executive Director
Chief Technology Officer
danholmes at chi.scot

> On 11 Jan 2022, at 14:56, Martin SCHREIBER via mpiwg-sessions <mpiwg-sessions at lists.mpi-forum.org> wrote:
> Bonjour,
> Dominik asked me to forward his slides to this mailing list.
> Here they are:
> www.martin-schreiber.info/pub/tmp/2022_01_11_dominik_huber_dynamic_sessions_interface_annotated.pdf
> He also extended them with more information.
> All the best,
> Martin
> -- 
> Prof. Dr. Martin Schreiber
> Applied Mathematics / Scientific and High-Performance Computing
> Université Grenoble Alpes / Laboratoire Jean Kuntzmann, France
> Time-X Euro-HPC project:
> Informatics / Computer Architecture and Parallel Systems
> Technical University of Munich, Germany
> _______________________________________________
> mpiwg-sessions mailing list
> mpiwg-sessions at lists.mpi-forum.org
> https://lists.mpi-forum.org/mailman/listinfo/mpiwg-sessions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-sessions/attachments/20220111/e77fe983/attachment.html>

More information about the mpiwg-sessions mailing list