python - 运行通过消息进行通信的 MPI 进程
问题描述
我想启动一个进程,作为其他进程发送的消费者。所以,我写了这个虚拟代码来测试一下。每次我通过运行此代码时mpirun -n 4 python3 -u -m mpi4py.futures test.py
,它都会给我以下输出:
<mpi4py.futures.pool.MPIPoolExecutor object at 0x110deee50>
然后退出。我错过了什么?
from mpi4py.futures import MPIPoolExecutor
from mpi4py import MPI
import numpy as np
def func(dummy):
MPI.Comm.send(np.array([1]), 1)
def reciver(itera, dummy):
for i in range(itera):
data = MPI.Comm.recv()
print(data)
if __name__ == '__main__':
comm = MPI.COMM_WORLD
with MPIPoolExecutor() as executor:
itera = 10
print(executor)
executor.submit(reciver, (itera, 98))
executor.map(func, [i for i in range(itera)])
解决方案
推荐阅读
- java - Java Api for TopMetricsAggregation of Elastic search
- python - Localstack lambda 不是由 SQS 触发的
- r - 如何修复错误:KableExtra 中的“xml_children(kable_tbody)[[i]] 中的错误:下标越界”
- c++ - 防止在 C++14 中为完整类型调用“sizeof”运算符
- android - 如何在 Android Studio ( kotlin ) 中创建计时器?
- python - 如何优化这些请求?
- c++ - 在 Visual Studio 中两次运行具有不同定义的相同项目?
- laravel - 生产顺风 css 在生产中无法正确显示
- react-native - React Native Expo 传感器错了吗?
- c++ - 如何使用 cmake 链接 nghttp2 asio 项目