我正在尝试将以下代码拆分以允许在python中进行多处理,这对我来说真的是一个令人沮丧的任务-我对多处理是新手,已经阅读了文档和尽可能多的示例,但仍然没有找到一个解决方案,使它能够同时在所有的cpu核心上运行。在
我想把它分成四分之一,让它用parralell计算测试。在
我的单线程示例:
import itertools as it
import numpy as np
wmod = np.array([[0,1,2],[3,4,5],[6,7,3]])
pmod = np.array([[0,1,2],[3,4,5],[6,7,3]])
plines1 = it.product(wmod[0],wmod[1],wmod[2])
plines2 = it.product(pmod[0],pmod[1],pmod[2])
check = .915
result = []
for count, (A,B) in enumerate(zip(plines1,plines2)):
pass
test = (sum(B)+10)/(sum(A)+12)
if test > check:
result = np.append(result,[A,B])
print('results: ',result)
我知道这是一对3x3矩阵的一个很小的例子,但是我想把它应用到一对更大的矩阵上,大约需要一个小时来计算。我很感激你给我的建议。在
我建议使用队列来转储您的可移植文件。像这样:
但是,您必须首先确定任务列表的长度。在
相关问题 更多 >
编程相关推荐