【发布时间】:2015-07-18 10:25:47
【问题描述】:
我有一个稀疏带状矩阵 A,我想(直接)求解 Ax=b。我有大约 500 个向量 b,所以我想求解相应的 500 个 x。 我是 CUDA 的新手,所以我对我有哪些可用的选项有点困惑。
cuSOLVER 有一个批量直接求解器 cuSolverSP,用于稀疏 A_i x_i = b_i,使用 QR here。 (我也可以使用 LU,因为 A 的条件很好。)但是,据我所知,我无法利用我所有的 A_i 都相同的事实。
是否可以先在 CPU 或 GPU 上确定稀疏 LU (QR) 分解,然后在 GPU 上并行执行反向替换(分别是反向替换和矩阵 mult)?如果cusolverSp< t >csrlsvlu()是针对一个b_i的,有没有标准的方法可以对多个b_i批量执行这个操作?
最后,由于我对此没有直觉,考虑到必要的开销,我是否应该期望这些选项在 GPU 上的加速? x 的长度约为 10000-100000。谢谢。
【问题讨论】:
标签: c++ cuda sparse-matrix matrix-factorization cusolver