相关疑难解决方法(0)

基于numpy的计算的低效多处理

我正在尝试并行化一些numpy在Python multiprocessing模块的帮助下使用的计算.考虑这个简化的例子:

import time
import numpy

from multiprocessing import Pool

def test_func(i):

    a = numpy.random.normal(size=1000000)
    b = numpy.random.normal(size=1000000)

    for i in range(2000):
        a = a + b
        b = a - b
        a = a - b

    return 1

t1 = time.time()
test_func(0)
single_time = time.time() - t1
print("Single time:", single_time)

n_par = 4
pool = Pool()

t1 = time.time()
results_async = [
    pool.apply_async(test_func, [i])
    for i in range(n_par)]
results = [r.get() for r in results_async]
multicore_time …
Run Code Online (Sandbox Code Playgroud)

python numpy multiprocessing

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

标签 统计

multiprocessing ×1

numpy ×1

python ×1