如何在mpi4py中设置进程数

2024-05-02 11:21:38 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在mpi4py中设置固定数量的进程?在其他语言的mpi实现中,它在In it(args)中作为参数传递。文件似乎没有提到这一点。有人知道怎么做吗?该程序将在普通双核笔记本电脑和24节点(96核)群集上启动,我想在笔记本电脑上模拟群集。

很抱歉,如果它真的在文档中-它对刚接触mpi的人来说是相当神秘的。


Tags: 文件in文档程序语言数量节点进程
2条回答

mpi4py tutorial是这样的吗:

from mpi4py import MPI    
import sys
client_script = 'my_client.py'
comm = MPI.COMM_SELF.Spawn(sys.executable, args=[client_script], maxprocs=5)

最简单的方法是使用mpiexec(或mpirun)启动程序,指定所需的MPI任务数:

$ cat foo.py
from mpi4py import MPI

comm = MPI.COMM_WORLD
nprocs = comm.Get_size()
rank   = comm.Get_rank()

if rank == 0:
   data = 'Hello!'
   comm.send(data, dest=nprocs-1, tag=1)
elif rank == nprocs-1:
   data = comm.recv(source=0, tag=1)
   print 'Rank ', rank, ' received ', data

$ mpiexec -np 4 python foo.py
Rank  3  received  Hello!

不过,请注意,在笔记本电脑上运行96个任务可能不会特别有用。

相关问题 更多 >