我正在尝试用python并行一些代码。以串行方式运行我的代码大约需要24小时,但是,有一个for循环,其中每个迭代都独立于前一个迭代,因此这是并行化的理想情况。下面是我试图用代码实现的一个简单示例
import scipy as sci
from multiprocessing import Pool
def mycode(args):
for x in range(0,2000)
y = sci.fft(data[x,:],axis=1)
output[x,:]=y
return output
if __name__=="__main__":
pool=Pool(processes = 8)
output= pool.map(mycode(args),2000)
然而,从上面看,我可以看到尽管python生成了9个python进程,但实际上只有一个进程在使用CPU或内存。其他的都是0%。用for循环使用Pool的正确方法是什么?你知道吗
只要这个数据变量被定义为全局变量,它就应该工作。你知道吗
相关问题 更多 >
编程相关推荐