我正在尝试开发类似于使用python编写服务器的东西。 这个概念是我想用不同数量的处理器启动2个进程,并在它们之间获得通信者:
你知道吗计算地址:
#!/usr/bin/env python
from mpi4py import MPI
import sys
def do_calcul():
calcul_comm = MPI.COMM_WORLD
calcul_rank = calcul_comm.Get_rank()
calcul_size = calcul_comm.Get_size()
print 'Rank {0}/{1} calculation\n'.format(calcul_rank, calcul_size)
if __name__ == '__main__':
do_calcul()
你知道吗服务器.py地址:
#!/usr/bin/env python
from mpi4py import MPI
import sys
def do_writing():
server_comm = MPI.COMM_WORLD
server_rank = server_comm.Get_rank()
server_size = server_comm.Get_size()
print 'Rank {0}/{1} writing'.format(server_rank, server_size)
if __name__ == '__main__':
do_writing()
要运行脚本,我要启动这两个脚本:
mpirun -np 4 python hs_calcul.py : -np 2 python hs_server.py
问题是每个脚本都没有检测到自己的通信世界,输出结果是:
Rank 2/6 calculation
Rank 4/6 writing
Rank 1/6 calculation
Rank 3/6 calculation
Rank 5/6 writing
Rank 0/6 calculation
我想买点像这样的东西
Rank 2/4 calculation
Rank 1/2 writing
Rank 1/4 calculation
Rank 3/4 calculation
Rank 0/2 writing
Rank 0/4 calculation
以及如何让MPI通信器将任何计算过程与编写过程进行通信。你知道吗
你知道怎么做吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐