我有一个稀疏带状矩阵 A,我想(直接)求解 Ax=b。我有大约 500 个向量 b,所以我想求解相应的 500 个 x。我是 CUDA 的新手,所以我对我有哪些可用选项感到有些困惑。
cuSOLVER 有一个批量直接求解器 cuSolverSP 用于稀疏 A_i x_i = b_i在这里使用 QR 。(我对 LU 也很好,因为 A 的条件很好。)但是,据我所知,我无法利用我所有的 A_i 都相同的事实。
另一种选择是首先在 CPU 或 GPU 上确定稀疏 LU (QR) 分解,然后在 GPU 上并行执行反向替换(分别为反向替换和矩阵 mult)?如果cusolverSp< t >csrlsvlu()用于一个 b_i,是否有标准方法可以为多个 b_i 批量执行此操作?
最后,由于我对此没有直觉,考虑到必要的开销,我是否应该期望这些选项中的任何一个在 GPU 上加速?x 的长度约为 10000-100000。谢谢。