GPGPU計算用の線形ソルバーの選択(OpenCL)


10

私はすでに、共役勾配法を使用してGPUおよびOpenCLを使用して熱伝達の問題を解決するための有限要素法の実用的なソリューションを開発しました。この方法の主な欠点は、メモリの需要が高いことです。さらに、グラフィックカードの場合、メモリは非常に限られていることがよくあります。2つのオプションが表示されます。

  1. サブドメインを作成し、メッシュの一部をホストメモリと交換する
  2. 多正面法を使用する

特定のアーキテクチャを考慮する必要があります。スワッピングは非常に高価になる可能性があります。CGメソッドはGPGPUコンピューティングのコンテキストで人気がありますが、CGとマルチフロンタルメソッド(GPGPUの場合)の比較は見つかりません。マルチフロンタル法はCGよりも高速ですか?これは一般的な質問ですが、実際にはまだ実装に依存しています。


2
自分のFEMコードで行列のグローバルアセンブリを行っていますか?または、マトリックスフリーの実装を使用していますか?(つまり、マトリックスの明示的な形成はありません)
Allan P. Engsig-Karup '20

3
どの前提条件子を使用していて、ドメインはどのようなものですか?優れたアルゴリズムを使用する10年前のデスクトップは、くだらないアルゴリズムを使用するGPUのクラスターに勝ります。
Jed Brown、

六面体メッシュまたは単純メッシュを使用していますか?メモリが問題であり、テンソル積基底関数で16進数要素を使用している場合、1D演算子のみを保存し、行列のない実装(前述のAllanのような)を使用することでメモリを節約できる場合があります。
Jesse Chan

回答:


2

私はLibGeoDecompのプロジェクトリーダーです。ですから、私はそれに賛同するかもしれません。

はい、LibGeoDecompを使用してFEMを実装できます。私たちは現在、まさにこのユースケースのために改善されたデータコンテナに取り組んでいます。しかし、公平を期すために:その作業の完了はまだ数か月先であり、それまではパフォーマンスは最適ではありません。それでもLibGeoDecompを試してみたい場合は、電子メールでお気軽にご連絡ください。

別のオプションは、不規則な問題に対してソルバーが最適化されたFenicsです。ただし、その場合、自分でソルバーを作成することはできません。


1

それがあなたに役立つかどうかはわかりません。ここには、カスタマイズ可能なドメイン分解手法(サイトから)を使用するツールであるlibgeodecompへのリンクがあります。私の知る限り、GPUで使用できます。それがあなたを助けるなら、私に投票してください;-)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.