确定Python程序是否正在并行运行

时间:2019-05-03 10:32:20

标签: python-3.x mpi4py

有没有一种方法可以确定Python程序是通过mpirun还是mphexec并行运行。我以为可以通过获取sys.argv来获取此信息,但是它不存在。可以通过查看mpi4py模块来获取这些信息吗?

1 个答案:

答案 0 :(得分:1)

如果使用mpi4py包,则可以检查MPI_COMM_WORLD通信器的大小是否大于1。如果是,那么您正在并行运行。如果不是,则您仅在一个进程上运行。请注意,即使您使用mpirun命令(例如mpirun -n 1 python test.py)运行脚本,也只能在一个进程上运行

您可以使用以下代码行获取MPI_COMM_WORLD通信器的大小:

from mpi4py import MPI
comm = MPI.COMM_WORLD
size = comm.Get_size()