类似于多处理的mpi池

mpipool的Python项目详细描述


关于

mpipool提供了一个类似的Poolmultiprocessing.Pool 从标准库。

mpipool使用MPIPool实现 schwimmbad库 并规避其某些限制:

  • 一系列的mpipool.Pool.map调用不会崩溃,
  • 如果工作进程引发异常,则MPI 任务被正确关闭,以便整个程序停止并执行 不是吊死。

示例用法

from mpipool import Pool

def add(a, b):
    return a + b

p = Pool()

sums = p.map(add, [(ai, bi) for ai in range(10) for bi in range(10)])

assert len(sums) == 100
assert sums[0] == 0
assert sums[-1] == 18

sums = p.map(add, [(ai, bi) for ai in range(10) for bi in range(10)])

assert len(sums) == 100
assert sums[0] == 0
assert sums[-1] == 18

程序必须在命令行上运行,如:

$ mpirun -n 4 python example.py

目前mpipool.Pool只实现一个map方法。

MPIPool实现相反 schwimmbadfrom mpipool import Pool之后的语句只执行 按排序为0的任务。

学分

mpipool使用MPIPool实现 schwimmbad库。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使图像以正确的速度在屏幕上移动,以适应所有显示   内存Java分配:从预先存在/分配的池中分配对象   java这种书写方式?   Java正则表达式查找字符串的开头   java是否可以创建一个类来处理安卓中的所有日志代码(例如log.d(TAG,message))   如何使用Selenium和java单击WebTable任意页面上的WebElement   java解析字符串中的文件名   java刷新JTree内容   java如何覆盖RequestMappingHandler   爪哇数石头、布、剪刀赢了多少   struts中的java无效令牌   swing JTree,优化算法,Java   java Tomcat和SSL:密钥库格式无效