首页 > 解决方案 > 用于管理分布式 SpGEMM 的 Julia 包

问题描述

有谁知道 Juia 下的一个高性能包,可以在分布式集群 (MPI) 上计算稀疏矩阵-矩阵乘法 (SpGEMM)?我不确定 Elemental.jl 是否能够管理此类计算。我正在寻找简单的东西(例如密集系统的 COSMA.jl),欢迎所有帮助......谢谢

标签: multiprocessingjuliasparse-matrixdistributed-computing

解决方案


Elemental 似乎确实能够处理这个问题。特别是,使用 Elemental.jl,您应该能够创建一个稀疏分布式数组Elemental.DistSparseMatrix,您应该 AFAICT 能够与之相乘mul!或类似。

这似乎没有被广泛记录,特别是DistSparseMatrix用所需值填充它似乎并不简单,但一些示例出现在https://github.com/JuliaParallel/Elemental.jl/blob/master/test /lav.jl,以及包源中的其他几个地方

除此之外,当然还有诸如 DistributedArrays.jl 和 SparseArrays stdlib 之类的包,但据我所知,纯 Julia 中还没有任何稀疏的分布式数组包,所以像 Elemental.jl 这样的包装器包将是你最好的赌注。

其他通常应该能够进行稀疏分布式矩阵乘法的包似乎包括 PETSc 和 Trilinos,它们都具有 Julia 包装器(后者似乎未维护,尽管另见其上的演示文稿)。使用PETSc.jl,您似乎应该能够通过将 Julia 传递SparseMatrixCSCPETSc.Mat.


推荐阅读