在Dask上,调用稀疏迭代方法Dask阵列或跨集群中的节点。

问题描述 投票:1回答:1

我有一个大的稀疏矩阵,只能装在一个集群的多个节点上。我想通过调用类似以下的方法来解决一个方程组

import scipy.sparse.linalg as splinalg

A = my_sparse_matrix          # a sparse dask array defined across four nodes
b = my_vector                 # an initial vector
M = my_sparse_preconditioner  # a preconditioner to help improve convergence of algorithm

x = splinalg.bicgstab(A, b, M=M)

有什么办法可以做到这一点,使

  • 如果我只使用一个节点,它能并行解决x吗?
  • 如果我使用一个以上的节点(例如 4 个节点),它可以工作吗?

如果不能,Dask 社区是否正在研究这个问题?

parallel-processing linear-algebra dask dask-distributed
1个回答
0
投票

Dask数组支持稀疏矩阵块。

Dask数组支持SciPy LinearOperator API。

这两个事实可能足以解决你的问题,但你无疑还是需要自己做一些工作。 比如分布式稀疏阵列没有明显的存储方案。 没有明显的方法来分割数据等等。

所以 "是",Dask能够在这里提供帮助,但 "不是",没有明显的罐头解决方案给你。

© www.soinside.com 2019 - 2024. All rights reserved.