这是一个示例程序,我使用多处理.计算完成multiprocessing.Process并使用结果收集multiprocessing.Queue.
#THIS PROGRAM RUNS WITH ~40Gb RAM. (you can reduce a,b,c for less RAM
#but then it works for smaller values)
#PROBLEM OCCURS ONLY FOR HUGE DATA.
from numpy import *
import multiprocessing as mp
a = arange(0, 3500, 5)
b = arange(0, 3500, 5)
c = arange(0, 3500, 5)
a0 = 540. #random values
b0 = 26.
c0 = 826.
def rand_function(a, b, c, a0, b0, c0):
Nloop = 100.
def loop(Nloop, out):
res_total = …Run Code Online (Sandbox Code Playgroud) 我正在使用Python进行多重处理。例如,请考虑Python多处理文档中给出的示例(在示例中我将100更改为1000000,只是为了花费更多时间)。当我运行此命令时,我确实看到Pool()正在使用所有4个进程,但是我看不到每个CPU都移动到100%。如何使每个CPU的使用率达到100%?
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
pool = Pool(processes=4)
result = pool.map(f, range(10000000))
Run Code Online (Sandbox Code Playgroud)