まばらなバンド行列 A があり、Ax=b を (直接) 解きたいと思います。私は約 500 個のベクトル b を持っているので、対応する 500 個の x を解きたいと思います。私はCUDAを初めて使用するので、利用可能なオプションについて少し混乱しています。
cuSOLVER には QR hereを使用したスパース A_i x_i = b_i のバッチ ダイレクト ソルバー cuSolverSP があります。(A は適切に条件付けられているので、LU でも問題ありません。) しかし、私が知る限り、すべての A_i が同じであるという事実を利用することはできません。
別のオプションは、最初に CPU または GPU でスパース LU (QR) 因数分解を決定し、次に GPU で逆代入 (それぞれ backsub と matrix mult) を並行して実行することでしょうか? cusolverSp < t >csrlsvlu()が 1 つの b_i に対するものである場合、複数の b_i に対してこの操作をバッチで実行する標準的な方法はありますか?
最後に、私はこれについて直感を持っていないので、必要なオーバーヘッドを考慮して、これらのオプションのいずれかで GPU の高速化を期待する必要がありますか? x の長さは ~10000-100000 です。ありがとう。