[问题] for 循环 平行化

楼主: Dirac (Dirac)   2016-06-07 16:39:15
小弟最近需要加快循环速度
第一个想到的就是平行化
这里是小弟的程式码 (创立矩阵)
j=0
for w in np.arange(Omega_start,Omega_end,Omega_grid):
k=0
for t in np.arange(Timearray[int(len(Timearray)/20*TI)],Timearray[int(len(Timearray)/20*TF-1)],h*Time_grid):
a[k][j] = wave(w,t)
k+=1
j+=1
#####
a[k][j] 是一个矩阵 , wave是一个定义函数 ,
主要想要让for w 这边用平行化速度加快
请问一下有什么tutorial可以看吗?
multiprocessing 的使用文件实在是有点复杂...
感谢各位版友
作者: bibo9901 (function(){})()   2016-06-07 16:53:00
你第一个想到的应该是优化这丑陋的code1. 这里真有必要用np.arange? 试试内建的generator2. 第二层循环看起来和第一层无关, 提出去计算一次就好^的条件
作者: alibuda174 (阿哩不达)   2016-06-07 17:27:00
花时间的地方是wave吧?
作者: LiloHuang (十年一刻)   2016-06-08 21:08:00
这个问题会建议你直接用 numba 的 @jit decorator通常会有显著的性能提升。http://goo.gl/uNdlP8 可参考网页上面的范例

Links booklink

Contact Us: admin [ a t ] ucptt.com