为了账号安全,请及时绑定邮箱和手机立即绑定

多处理不并行

多处理不并行

白板的微信 2021-06-27 10:27:05
我有一个可以并行运行的函数,但是,当我尝试运行它时,似乎正在串行调用该函数。import multiprocessing as mpdef function_to_be_parallelized(x,y,z):    #compute_array takes 1-5 minutes computation to depending on x,y,z    computed_array=compute_array(x,y,z)    print ("running with parameters"+str(x*y*z))    return computed_arraydef run(xs,ys,zs):    pool = mp.Pool(processes=4)    all_outputs = [pool.apply(function_to_be_parallelized, args=(x,y,z)) for x in xs for y in ys for z in zs]我发现打印语句一次打印一个,并且只有在前一个过程完成后才打印每个语句,我在具有 4 个内核的机器上运行它。这是因为内部函数中的进程每个都占用了 2 个以上的内核(因此无法并行化)?还是另有原因?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号