高速フーリエ変換(FFT)のスケーラビリティ


12

たとえばPDEソルバーに関連して、均一にサンプリングされたデータに対して高速フーリエ変換(FFT)を使用するには、FFTが)アルゴリズムであることはよく知られています。(つまり非常に大きい)で並列処理された場合、FFTはどれくらいうまくスケールしますか?Onログnn


1
私は少し混乱しています。データポイントの数が増えると、固定数のプロセッサの実行時間がどのようにスケーリングするか、プロセッサの数が増えると、固定数のデータポイントの実行時間がどのようにスケーリングするか、またはデータポイントの数が増加するにつれて、プロセッサごとのデータポイントの固定比率は?
ジェフオックスベリー

弱いスケーリングと強いスケーリングの両方。
アランP. Engsig-Karup

回答:


8

これは実証された証明よりも事例証拠ですが、FFTWなどのFFTの既存の実装にはスケーリング能力に限界があるようです。

LAMMPSの空間ソルバーを非常に大規模なシステム(O 10 7アトム)で使用し始めたとき、1つのラックに収まるようにプロセッサーの数を十分に小さく保つことができる限り、スケーリングが継続することがわかりました。さらに拡張しようとすると(マシンによって異なりますが、約4Kプロセッサー以上)、スケーリングが崩れました。これは、プロセッサー間でデータをプッシュするための通信コストがスケーリングを維持するには大きすぎるためです。[最近、この問題を回避するために、プロセッサ割り当ての特定のパーティションをFFT計算専用にする機能を導入しました。]kO107

ただし、ここで重要なことは、FFTをスケールアップすることです。ただし、アルゴリズムのパフォーマンスの理論的考慮から実際のHPCプラットフォームでの実際の実装に移行するときに、予期せぬ制限や相互作用が生じることがあります。


6

高速多重極法(FMM)はあり、通信要件がはるかに低いため、非常にスケーラブルな離散フーリエ変換を提供します。Edelman、McCorquodale、およびToledo(1999)The Future Fast Fourier Transform?このアプローチを分析し、FMMが大規模な従来のFFTよりも望ましいと結論付けます。FMMは近似値にすぎないため、非常に高い精度が必要な場合、定数は悪化することに注意してください。先週の議論でこれを指摘してくれたJack Poulsonに感謝します。On


5

ndd

Google Scholarで「並列FFT」または「疑似スペクトルスケーラビリティ」を検索すると、豊富な情報が得られず、評価する資格がありません。しかし、これは実際に達成できることの素晴らしい最近の例のように思えます:

流体乱流のスケーラブルな並列擬似スペクトル計算のためのハイブリッドMPI-OpenMPスキーム

概要:

分散メモリ並列処理にMPIを使用し、共有メモリ並列処理にOpenMPを使用するハイブリッドスキームを示します。この作業は、新しいペタスケール、高コア数、超並列処理システムでの流体乱流の擬似スペクトル計算で非常に高いレイノルズ数を達成したいという願望に基づいています。ハイブリッド実装は、十分にテストされたスケーラブルなMPI並列化擬似スペクトルコードから派生し、拡張します。ハイブリッドパラダイムは、擬似スペクトルグリッドのドメイン分解の新しい状況を導きます。これは、とりわけ、中心的なコンポーネントである並列高速フーリエ変換に必要なグローバルデータの3D転置を理解するのに役立ちます。数値の離散化。ハイブリッド実装の詳細が提供され、およびパフォーマンステストは、メソッドのユーティリティを示しています。ハイブリッドスキームは、最大平均効率83%で最大20000コンピューティングコアまでほぼ理想的なスケーラビリティを達成することが示されています。2つの異なるプラットフォームでコードパフォーマンスを最適化するために、最適な数のMPIプロセスとOpenMPスレッドを選択する方法を示すデータが提示されます。


1

On

Oログn

On


1
FFTにはかなりの量の通信がありますが、単一のノードで結果を収集する必要はありません(または望ましくありません)。FFTの非常に一般的な使用法は、乱流の直接数値シミュレーションです。ここでは、実空間で非線形対流項を適用し、残りのシミュレーションはフーリエ空間で実行されます。これは結果をシリアライズする必要がありません。一般に、並列コンピューティングでは、「ビッグ」データは常に分散形式で保存および分析する必要があります。
ジェドブラウン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.