1

あなたからのちょっとしたアドバイスが必要です。あなたの時間があまりかからないことを願っています。

ここに私の質問があります: 私は小さな正方形の密行列を持っており、可能なサイズは 4x4、8x8、16x16 で、CUDA を使用してそれを逆にしたいと考えています。

質問の特別な部分は、このタスクを実行するために 1024 個のアイドル状態の cuda スレッドがあることです。したがって、Gauss Jordan のような最も普及している逆メソッドは、ここでは適切に機能しないのではないかと疑っています。これは、それらがわずかに並列であり、1024 の膨大な量から約 4 ~ 16 スレッドしか使用しないためです。

しかし、利用可能なすべてのスレッドを使用して、この行列を逆にするにはどうすればよいでしょうか?

ご清聴ありがとうございました!

4

1 に答える 1

1

この種の問題には、少なくとも 2 つの可能な既製のオプションがあります。

  1. CUBLAS ライブラリの最近のバージョンに同梱されているバッチ ソルバーを使用する
  2. NVIDIA が登録開発者に配布する BSD ライセンスの Gauss-Jordan 除去デバイス コード関数を使用します。これらは、行列ごとに 1 つのスレッドを使用して小さな行列を反転することを目的としていました

[この回答はコメントから集められ、未回答のキューから質問を取り除くためにコミュニティ wiki エントリとして追加されました]

于 2015-10-25T06:21:51.980 に答える