原则上,是否可以使用 boost python 库在 C++ 中创建具有 MPI 功能的自定义 python 模块?所以我想知道我是否可以在库的一些函数中包含 MPI 功能,然后创建一个这样的 python 脚本:
import myModule
A = myModule.myClass()
A.doSomething()
其中 doSomething() 是一个具有并行化机会的函数。然后我会做
mpirun -np [NUM_PROCS] python my_script.py [OPTIONS]
并获得并行功能。如果这是可能的,我将如何去做?我的意思是显然我需要在我的模块的源代码中包含一些 MPI 库,但是我需要在 python 脚本中做一些事情以确保它并行运行吗?我必须与 GIL 战斗吗?似乎没有太多关于这方面的文档,所以我对如何去做有点无能为力。或者,如果我在某处遗漏了一些文档,我们将不胜感激。