| #!/usr/bin/env python3 | |
| import logging | |
| from mpi4py.futures import MPICommExecutor | |
| from mpi4py.MPI import COMM_WORLD | |
| # For multi-node MPI, the worker nodes should launch MPICommExecutor to accept tasks sent from rank0 | |
| with MPICommExecutor(COMM_WORLD) as executor: | |
| if executor is not None: | |
| raise RuntimeError(f"rank{COMM_WORLD.rank} should not have executor") | |
| logging.warning(f"worker rank{COMM_WORLD.rank} quited") | |