gpt4 book ai didi

c++ - 内置mpi的自定义boost python模块?

转载 作者:行者123 更新时间:2023-11-28 03:18:20 26 4
gpt4 key购买 nike

原则上是否可以使用 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 战斗吗?似乎没有太多关于此的文档,所以我对如何去做有点无能为力。或者,如果我在某处遗漏了一些文档,将不胜感激。

最佳答案

经过一些实验,可以做到这一点。该库需要用mpicxx编译,调用它的python脚本需要初始化mpi环境。比如我用mpi4py来做MPI.COMM_WORLD。然后所有进程调用库函数,函数可以包含代码来控制进程之间的数据流。

关于c++ - 内置mpi的自定义boost python模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16198539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com