小编owa*_*ari的帖子

并行python,还是MPI?

我有一个带有大量符号计算的代码(许多多个符号积分).此外,我可以访问8核cpu计算机(具有18 GB RAM)和一个小型32 cpu集群.我更喜欢留在我教授的8核PC而不是在更有限的时间内使用他的集群去另一个教授的实验室,但是,我不确定它是否适用于SMP系统,所以我正在寻找一个并行工具的Python可以同时在被使用SMP集群,当然更喜欢在一个系统上的代码是容易且最小努力可修改为其他系统上使用.

到目前为止,我发现并行Python(PP)有望满足我的需求,但我最近告诉MPI也做同样的事情(pyMPI或MPI4py).我无法批准这一点,因为在网上似乎很少讨论这个问题,只是在这里说MPI(pyMPI或MPI4py)只能用于集群,如果我对"仅"这一点是对的!

"Parallel Python"是我唯一的选择,还是我也可以愉快地使用基于MPI的解决方案?哪一个对我的需求更有希望?

PS.它们似乎没有一个非常全面的文档,所以如果你知道一些链接到他们的官方网站,可以帮助新手并行计算我会非常感激,如果你也在你的答案中提到它们:)


编辑.

我的代码在另一个内部有两个循环,外部循环不能并行化,因为它是一个迭代方法(递归解决方案),每个步骤取决于在上一步中计算的值.外环包含内环3个额外方程,其计算取决于内环的整个结果.然而,内环(其包含在每个步骤中可计算的12个方程中的9个)可以安全地并行化,所有3*3方程彼此独立,仅取决于前一步骤.我的所有方程计算都很重,因为每个方程包含许多多个符号积分.貌似我可以并行化内部循环的9个方程分别在这9个方程中的每一个中进行积分计算,并且还将内部循环旁边的其他3个方程中的所有积分并行.你可以在这里找到我的代码,如果它可以帮助你更好地理解我的需要,它写在SageMath里面.

python parallel-processing cluster-computing mpi smp

6
推荐指数
1
解决办法
5703
查看次数