[mpich-discuss] Calling MPI_Finalize or not

Zhou, Hui zhouh at anl.gov
Sun Feb 21 16:06:55 CST 2021

The worker should call `MPI_Finalize` before exit. If somehow it hangs, assuming all the resources have been freed/disconnected, it must be a bug, please file an issue and we’ll track it down. Each spawned process has a different `MPI_COMM_WORLD` from the process who spawned it.

Hui Zhou

From: Mccall, Kurt E. (MSFC-EV41) via discuss <discuss at mpich.org>
Date: Sunday, February 21, 2021 at 3:06 PM
To: discuss at mpich.org <discuss at mpich.org>
Cc: Mccall, Kurt E. (MSFC-EV41) <kurt.e.mccall at nasa.gov>
Subject: [mpich-discuss] Calling MPI_Finalize or not
Two questions:

I have a group of manager processes, each of which uses MPI_Comm_spawn() to create individual worker processes one at a time.
Occasionally, a worker has to exit and is replaced by another worker via MPI_Comm_spawn().    If the exiting worker calls MPI_Finalize(),
will it sit there waiting for all other managers and workers in MPI_COMM_WORLD to do the same, or will it wait only for the manager
that created its inter-communicator to call MPI_Finalize?

In either case, maybe it is better for the worker to NOT call MPI_Finalize at all so that it doesn’t sit there taking up a core’s resources
while it waits for the others.   What are the implications of not calling MPI_Finalize in the workers?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20210221/2092bce9/attachment.html>

More information about the discuss mailing list