有没有办法通过mpirun
或mphexec
来查明Python程序是否并行运行。我以为我可以通过获取 sys.argv 来获取此信息,但它不在那里。有什么方法可以获取此信息,也许可以通过查看 mpi4py
模块?
最佳答案
如果您使用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()
关于python-3.x - 判断Python程序是否并行运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55968020/