我正在寻找一个软件包来并行计算不完整的 LU 分解。进一步的考虑是:
- 该包必须允许任意填充级别或基于阈值的截断。ILU(0) 不够好。
- 包必须是“直接的”,即基于与精确分解相同的递归公式,而不是基于某些迭代过程。Chow 和 Patel的方法不适合我们的目的。
- 多线程和分布式并行都是可以接受的。
据我所知,似乎不存在这样的包,但也许我错过了什么?
我正在寻找一个软件包来并行计算不完整的 LU 分解。进一步的考虑是:
据我所知,似乎不存在这样的包,但也许我错过了什么?
我认为英特尔 MKL 的PARDISO应该有您正在寻找的实现。根据Preconditioners 部分,它允许 ILU(0) 和 ILU(T)。PARDISO 本身提供共享内存并行化,我不相信内部使用任何迭代过程。
因此,dscrilut乍一看似乎满足了您的所有要求。
我还建议在评论中查看SuperLU;但是,它似乎只提供串行版本。