対象プログラム | 磁気プラズマ乱流モデリング |
アプリケーション名 | GS2 |
チューニング方法 | FFTW2からFFTW3へのライブラリ入替 |
成果 | FFTW3によるSSE命令の効果はほとんどなかった。新たに間接指標アクセスが性能を抑制していることが分析により判明した。 |
HECToR dCSEチームによる磁気プラズマ乱流モデリングコードGS2のFFTライブラリ更新と性能分析
Colin Roach, EURATOM/CCFE Fusion Association
Joachim Hein, Xu Guo, Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAGの計算科学技術(CSE)サポートサービスと共に、EPCCのHPC専門家により、核融合磁気プラズマのミクロ乱流のシミュレーションに用いられる磁気プラズマ乱流モデリングコードGS2のFFTインターフェイスが更新され、性能が詳細に分析されました。分散FFT計算におけるSSE命令の利得は最小限のレベルであることが判明し、より効果的な性能最適化の可能性を特定しました。
HPCによる核融合プラズマのモデル化は、核融合プラズマを磁場内に閉じ込めるという理論の理解をさらに深め、核融合から安価にエネルギーを生産するという目的にとって重要なツールです。プロジェクトを導いたColin Roach博士はdCSEプロジェクトの成功について次のようにコメントしています:「GS2は最先端のジャイロ運動論的コードで、磁気的に閉じ込められたプラズマ中の微細スケールの変動を5次元で解きます。このような計算への要求は大きく、核融合実験の性能に影響を及ぼす基礎的な乱流プロセスへの洞察をもたらします。dCSEの専門家は、GS2からFFTW3への新しい並列処理インターフェイスを実装し、広範な性能調査を実施しました。我々はFFTW3が期待される性能向上をもたらさなかったことに驚き、失望しましたが、このプロジェクト全体がGS2にとって非常に貴重であり、我々はこの結果に喜んでいます。GS2は現在、将来に向けたより堅牢なプラットフォームを提供しており、大幅なパフォーマンス向上をもたらすべき開発努力の明確な方向性が決定されました。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているGS2プロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
GS2は、旧式のパッケージFFTW2を使用して、2次元の高速フーリエ変換を広範囲に使用しています。このライブラリの最新版であるFFTW3は、現代的なプロセッサで利用可能なSSE命令を利用しています。このdCSEプロジェクトの目標は、FFTW3にアップグレードすることでさらなる高性能を実現することでした。
Culham Center for Fusion Energy(CCFE)のColin Roach博士はプロジェクトの主任研究員でした。エジンバラ大学のEPCCのJoachim Hein博士とXu Guo博士は、NAG CSEチームとGS2ユーザーおよび開発者と協力して6人月のプロジェクトを実施しました。この磁化プラズマ乱流マルチスケールモデリング・プロジェクトには、計算資源としてHECToRに7,500万AUの配分が割り当てられました。
プロジェクトの結果
FFTW3を使用するオプションを追加するためにGS2が再設計されました。GS2のコールツリーの詳細な分析の元に、FFTW3のための変換ルーチンが実装されました。しかしながら、FFTW3のSSE命令の利用はGS2の性能を改善していません。計画では、GS2にFFTW3を実装することでFFTに掛かる時間が短縮されることが予想されていました。これは、FFTW3がHECToRシステムのOpteronプロセッサのSSE命令を利用できる一方、FFTW2はその恩恵にあずからないためでした。詳細な分析によると、FFTコールでは、SSE命令のメリットは極僅かでした。これは予期せぬ事態でHECToRユーザーコミュニティにとって一般的な関心事であるはずです。私たちの詳細な分析によれば、キャッシュに収まるように問題を小さくしたり、より多くのメモリ帯域幅とレベル3キャッシュを与えるためにプロセッサのコアを1つだけ配置する場合でも、SSEの利点はほとんどありませんでした。
さらに、これ以外に重要なGS2の性能問題が特定されました。特にコンパイラによって最適化できない間接アドレッシングの広範な使用です。初期の調査からは、この問題に対する解決策がパフォーマンスに有効であることが示されています。
詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/GS2/
さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。