在python中并行化向量式计算的乘法

Yul*_*a V 5 python multithreading vector

我有一大堆代码

for i in range(0, len(a))
    b[i] = func(a[i])
Run Code Online (Sandbox Code Playgroud)

其中a和b是相同长度的数组,a是给定的(和大),func是一些具有大量局部变量但不使用任何全局变量的函数.

我想在几个CPU上分配func的计算.大概我需要使用多处理模块,但我没有找到任何相关的例子.你能帮忙吗?谢谢.

jfs*_*jfs 3

multiprocessing请参阅文档中的第一个代码示例:

from multiprocessing import Pool

# you could define `func`, `a` here

if __name__=="__main__":
    p = Pool() # use all available CPU cores
    b = p.map(func, a)
Run Code Online (Sandbox Code Playgroud)