parallel python:只运行n次函数

时间:2014-10-16 08:08:52

标签: python parallel-processing

我有一个python函数,它返回多维numpy数组作为输出。这是一个带随机数的蒙特卡罗模拟,我想用相同的输入运行这个函数n次,收集数据并做平均值。有没有一种简单的方法可以使用multiprocessing来实现这一目标?

1 个答案:

答案 0 :(得分:0)

例如,使用4个过程的简单平方函数计算平均值:

from multiprocessing import Pool

def f(x):
    return x*x

if __name__ == '__main__':
    pool = Pool(processes=4)
    n = 10000000
    inputs = xrange(n)
    # calc f output using 4 processes
    out_list = pool.map(f, inputs)
    # average  
    print sum(out_list) / float(n)