Python多处理:调用mpi可执行文件并在内核上分发

Python多处理:调用mpi可执行文件并在内核上分发,python,parallel-processing,multiprocessing,mpi,python-multiprocessing,Python,Parallel Processing,Multiprocessing,Mpi,Python Multiprocessing,我正在尝试使用python的多处理方法来加速我正在开发的程序 python代码以串行方式运行,但有对mpi可执行文件的调用。正是这些电话,我想并行进行,因为它们彼此独立 对于python脚本执行的每个步骤,我都有一组必须由mpi程序完成的计算 例如,如果我在24个内核上运行,我希望python脚本调用3个mpi可执行文件实例,每个实例在8个内核上运行。每次一个mpi可执行文件运行结束时,都会启动另一个实例,直到队列的所有成员都完成为止 我刚刚开始使用多处理,我相当肯定这是可能的,但我不确定如何去

我正在尝试使用python的多处理方法来加速我正在开发的程序

python代码以串行方式运行,但有对mpi可执行文件的调用。正是这些电话,我想并行进行,因为它们彼此独立

对于python脚本执行的每个步骤,我都有一组必须由mpi程序完成的计算

例如,如果我在24个内核上运行,我希望python脚本调用3个mpi可执行文件实例,每个实例在8个内核上运行。每次一个mpi可执行文件运行结束时,都会启动另一个实例,直到队列的所有成员都完成为止

我刚刚开始使用多处理,我相当肯定这是可能的,但我不确定如何去做。我可以设置一个队列并启动多个进程,问题在于将下一组计算添加到队列并启动它们


如果某个善良的灵魂能给我一些指点,或一些示例代码,我将不胜感激

我在这里有点困惑。。。一个mpi运行的输入是否依赖于另一个mpi运行的输出,还是它们都是独立的?如果它们都是独立的,那么您似乎应该能够编写一个函数来启动单个mpi作业(例如,使用
子进程
),然后从运行3个进程的
多处理池调用该函数。它们都是独立的。但是,在本例中,我要为python脚本中的每个步骤进行3次以上的计算。我不确定的是,如何将python多处理限制为一次只运行3个mpi可执行文件实例。我知道多处理。池是关键。谢谢我在这里有点困惑。。。一个mpi运行的输入是否依赖于另一个mpi运行的输出,还是它们都是独立的?如果它们都是独立的,那么您似乎应该能够编写一个函数来启动单个mpi作业(例如,使用
子进程
),然后从运行3个进程的
多处理池调用该函数。它们都是独立的。但是,在本例中,我要为python脚本中的每个步骤进行3次以上的计算。我不确定的是,如何将python多处理限制为一次只运行3个mpi可执行文件实例。我知道多处理。池是关键。谢谢