Parallel Scipy COO Matrix Computations

时间:2017-12-20 14:26:25

标签: python numpy scipy blas intel-mkl

我正在尝试使用scipy计算稀疏矩阵计算,该算法需要在非常大的RDF数据集上进行密集的依赖计算(PageRank)。我想在以下代码中使用多个内核进行scipy计算

F = sparse.coo_matrix((y['data'],(y['row'],y['col'])),shape=y['shape'])
W = sparse.coo_matrix((y['data'],(y['row'],y['col'])),shape=y['shape'])
P = sparse.bmat([[None, W], [F, None]])
previous = np.ones(n)/n
ones = np.ones(n)/n
while error > epsilon:
    tmp = np.array(previous)
    previous = damping*P.T.dot(previous) + (1-damping)*ones
    error = np.linalg.norm(tmp - previous)
    if(printerror):
        print(error) 

我已经搜索了我能找到的每个可能的答案,我尝试在代码中集成mkl(anaconda build),但多核上的性能似乎没有扩展。我已经明白scipy调用csr.h没有使用BLAS调用,我想知道我是否需要进行更改并使用适当的稀疏BLAS调用从scipy / sparsetools替换对csr_matvec的调用MKL有那些然后将scipy链接到mkl。我理解错误或缺少某些东西。我真的很感激这方面的一些帮助。一个类似的问题是here谢谢!!

0 个答案:

没有答案