嗨,我正在尝试运行一个大的for循环,239500次迭代,我做了一些测试,我发现200次需要1个小时,导致2个月的cpu时间。在
这是一个循环:
for i in range(0, MonteCarlo):
print('Performing Monte Carlo ' + str(i) + '/' + str(MonteCarlo))
MCR = scramble(YearPos)
NewPos = reduce(operator.add, YearPos)
C = np.cov(VAR[NewPos, :], rowvar=0)
s, eof = eigs(C, k=neof, which='LR')
sc = (s.real / np.sum(s) * 100)**2
tcs = np.sum(sc)
MCH = sc/tcs
Hits[(MCH >= pcvar)] += 1
if (Hits >= CL).all():
print("Number of Hits is greater than 5 !!!")
break
其中np代表numpy ans scramble代表随机洗牌在for循环中执行的计算互不依赖。在
有没有什么方法可以并行循环,我有12个核心,只有1个正在运行。。。。在Matlab中,我会做一个parfor,在python中有类似的东西吗?在
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐