(時間の離散化のために)IMPLICIT形式の有限体積法によって偏微分方程式(PDE)のセットを解決するコードを移植したいと考えています。
その結果、ADI / TDMAスキームで処理されるx、y、z方向の3重対角方程式系があります。
CUDAを使用したPDEの暗黙的な解決策については、何も見つからないようです。
ADI / TDMAスキームはCUDAで実装できますか?2D熱拡散方程式のような例はどこかにありますか?
私が見つけることができるのは、有限差分であるがEXPLICIT形式(ケンブリッジ大学)の2D熱拡散方程式のCUDAサンプルコードだけです。
ヒント/リファレンスをいただければ幸いです。
2
どのようなPDEを使用していますか?これは線形、非線形ですか?システム全体が三重対角線ですか?(「x、y、z方向の3重対角線」の意味がわかりません)。一般に、内積のグローバル化と不規則な通信のため、スパースソルバーまたは反復ソルバーをGPUに実装することは困難です(ただし、これが三重対角線である場合、通信はそれほど問題にはなりません)。編集:了解しました。ADIをググって、自分の前で使ったことはありません。三重対角ソルバーのクイックグーグルはこれを発見しました:Impact.crhc.illinois.edu/shared/papers/sc12_tridiagonal-1.pdf
—
Reid.Atcheson
リンクありがとうございます。PDEは、運動量、質量、エネルギーの保存方程式に基づいているため、強く結合しており、非線形です。Nikolai Sakharnykh氏はすでにそれを行っているようです。ここに興味のある人へのリンクがあります:nvidia.com/content/GTC/documents/1058_GTC09.pdf。ただし、サンプルコードが見つからない場合は、本当に役立ちます。
—
Khine 2013年
SOで重複する投稿を削除するか、ここで移行するように依頼してください。
—
David Ketcheson、2013年