用CUDA做稀疏矩阵的LU分解
我在做毕业论文,导师让我用CUDA实现大型稀疏矩阵的LU分解。
我在NUMERICAL RECIPES in C里看到过LU分解可以用Crout或者Doolittle算法,但这都是顺序的,没法并行处理。
在一些英文网站上看到可以把稀疏矩阵化成块对角镶边阵(BDB),之后再对每一块LU分解,最后一步在host里顺序来做。但是没有看到具体的步骤或者算法,只有个介绍。
希望大家对以下问题有所帮助:
1,如何将一个稀疏矩阵化为块对角镶边阵(BDB)
2,在BDB或者原始稀疏矩阵的条件下,如何进行并行LU分解,具体步骤?
望大家出谋划策,提供相关算法的名字,或者代码。
如果有哪位好心人能够帮忙写出全部程序,愿以重金酬谢,联系本人QQ:315630328,注明CUDA。先谢过了