我尝试使用scoops映射调用来并行化当前代码。 我知道如何将它应用于基本函数。 我的问题是,我想将这个map调用应用于一个函数,对于某些参数,它有一个值范围。你知道吗
我当前的代码如下所示:
paramA = True
paramB = 500
paramC = [1,2,3,4,5]
paramD = [0,2,4,6,8]
resultsA = []
resultsB = []
for x in paramC:
for y in paramD:
resultA, resultB = doFoo(a=paramA, b=paramB, c=x, d=y)
resultsA.append(resultA)
resultsB.append(resultB)
doFoo()是一个CPU密集型任务,我想首先将其并行化为多个核心甚至多个主机。 最后我想要的是这样的:
from scoop import futures
paramA = True
paramB = 500
paramC = [1,2,3,4,5]
paramD = [0,2,4,6,8]
resultsA, resultsB = futures.map(doFoo, (paramA, paramB, paramC, paramD))
有可能吗?用什么方法可以达到这个目的?你知道吗
事先非常感谢!你知道吗
致以最诚挚的问候, 罗宾
最适合python的方法是使用starmap而不是map。不幸的是,它看起来不像scoop实现了starmap,因此您可以用一个函数包装doFoo函数,该函数接受一个参数元组,将它们解压,并将它们传递给doFoo。你知道吗
相关问题 更多 >
编程相关推荐