2

現在、Ax=b 方程式を 2 回解いています。

ここで、A は疎行列 NxN です。

x、b はサイズ N のベクトルです (私は b1 と b2 を持っています)。

cusparse関数を使って両方を一発で解いて時間を短縮したい。

したがって、私が持っている2つのbから構築し、サイズNx2の1つの行列を構築し、式AX = Bが実行できるようにAでそれを解きます。

  1. 理論的には正しいですか?
  2. どの cusparse 関数を使用すればよいですか?

私は密行列ではなく疎行列を扱っていることに注意してください。

ありがとう!

4

1 に答える 1

1

あなたの質問に答えるために

  1. はい、この方法で複数の RHS ベクトルに対して適切に条件付けされたスパース問題を解くことは可能です。

  2. LHS 疎行列が三重対角行列または三角行列でない限り、これに cusparse を直接使用することはできません。

    cusolver 7.5 には、スパース行列を因数分解するための「低レベル」ルーチンがいくつか含まれています。つまり、一度因数分解して、別の RHS で因数分解を数回再利用できます。必要に応じて何度でも。(注: 私はもともと cusolve に疎な getrs のような関数があると想定していましたが、そうではないようです。確かに数年前に NVIDIA とユースケースについて話し、彼らがそれを追加したと思っていました。混乱して申し訳ありませんそこの)。

于 2016-03-02T17:36:51.973 に答える