我正在用python使用numpy进行一些统计计算。到目前为止,我当前的实现还没有并行化。所以我在研究python joblib Parallel来实现一个简单的循环并行化。在
我的非并行代码部分如下所示:
def calcRADMatInt( i, j , RADMat, pdfMu, pdfSigma):
if i==j:
RADMat[i, j] = 0.0
else:
RADMat[i, j] = calcRAD( pdfMu[i], np.squeeze( pdfSigma[i]), pdfMu[j], np.squeeze( pdfSigma[j]) )
RADMat[j, i] = RADMat[i,j]
def caldRADMat(....):
....
....
RADMat = np.zeros( (numLandmark, numLandmark) )
for i in range( 0, numLandmark):
for j in range( i, numLandmark)):
calcRADMatInt( i, j, RADMat, pdfMu, pdfSigma)
....
....
我试着把它平行化:
^{pr2}$但是,生成的并行代码比非并行版本的运行速度慢得多。在
所以我想我的实际问题是: 我使用joblib Parallel正确吗? 这是并行计算numpy-ndarray元素的正确方法吗?在
目前没有回答
相关问题 更多 >
编程相关推荐