たとえばPDEソルバーに関連して、均一にサンプリングされたデータに対して高速フーリエ変換(FFT)を使用するには、FFTが)アルゴリズムであることはよく知られています。(つまり非常に大きい)で並列処理された場合、FFTはどれくらいうまくスケールしますか?
たとえばPDEソルバーに関連して、均一にサンプリングされたデータに対して高速フーリエ変換(FFT)を使用するには、FFTが)アルゴリズムであることはよく知られています。(つまり非常に大きい)で並列処理された場合、FFTはどれくらいうまくスケールしますか?
回答:
これは実証された証明よりも事例証拠ですが、FFTWなどのFFTの既存の実装にはスケーリング能力に限界があるようです。
LAMMPSの空間ソルバーを非常に大規模なシステム(O (10 7)アトム)で使用し始めたとき、1つのラックに収まるようにプロセッサーの数を十分に小さく保つことができる限り、スケーリングが継続することがわかりました。さらに拡張しようとすると(マシンによって異なりますが、約4Kプロセッサー以上)、スケーリングが崩れました。これは、プロセッサー間でデータをプッシュするための通信コストがスケーリングを維持するには大きすぎるためです。[最近、この問題を回避するために、プロセッサ割り当ての特定のパーティションをFFT計算専用にする機能を導入しました。]
ただし、ここで重要なことは、FFTをスケールアップすることです。ただし、アルゴリズムのパフォーマンスの理論的考慮から実際のHPCプラットフォームでの実際の実装に移行するときに、予期せぬ制限や相互作用が生じることがあります。
高速多重極法(FMM)はあり、通信要件がはるかに低いため、非常にスケーラブルな離散フーリエ変換を提供します。Edelman、McCorquodale、およびToledo(1999)The Future Fast Fourier Transform?このアプローチを分析し、FMMが大規模な従来のFFTよりも望ましいと結論付けます。FMMは近似値にすぎないため、非常に高い精度が必要な場合、定数は悪化することに注意してください。先週の議論でこれを指摘してくれたJack Poulsonに感謝します。
Google Scholarで「並列FFT」または「疑似スペクトルスケーラビリティ」を検索すると、豊富な情報が得られず、評価する資格がありません。しかし、これは実際に達成できることの素晴らしい最近の例のように思えます:
流体乱流のスケーラブルな並列擬似スペクトル計算のためのハイブリッドMPI-OpenMPスキーム
概要:
分散メモリ並列処理にMPIを使用し、共有メモリ並列処理にOpenMPを使用するハイブリッドスキームを示します。この作業は、新しいペタスケール、高コア数、超並列処理システムでの流体乱流の擬似スペクトル計算で非常に高いレイノルズ数を達成したいという願望に基づいています。ハイブリッド実装は、十分にテストされたスケーラブルなMPI並列化擬似スペクトルコードから派生し、拡張します。ハイブリッドパラダイムは、擬似スペクトルグリッドのドメイン分解の新しい状況を導きます。これは、とりわけ、中心的なコンポーネントである並列高速フーリエ変換に必要なグローバルデータの3D転置を理解するのに役立ちます。数値の離散化。ハイブリッド実装の詳細が提供され、およびパフォーマンステストは、メソッドのユーティリティを示しています。ハイブリッドスキームは、最大平均効率83%で最大20000コンピューティングコアまでほぼ理想的なスケーラビリティを達成することが示されています。2つの異なるプラットフォームでコードパフォーマンスを最適化するために、最適な数のMPIプロセスとOpenMPスレッドを選択する方法を示すデータが提示されます。