プログラムの高速化・並列化サービスの事例

HECToRプロジェクト 磁気モデリングコードMicroMagの並列化

対象プログラム 磁気モデリングコード
アプリケーション名 MicroMag
チューニング方法 PETScライブラリとParMetisの適用による並列化
成果 100245要素ケースで初期化を省いた実行時間が16コア上で5倍高速化
[2017年4月掲載]

HECToR dCSEチームが磁気モデリングコードMicroMagを並列化

Wyn Williams, University of Edinbugh
Chris Maynard , Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)


英国の国立スーパーコンピューティング設備HECToRにおけるNAGの計算科学技術(CSE)サポートサービスのもと、EPCCのHPC開発者が磁気モデリングコードMicroMagを更新し、マルチプロセッサを活用して並列計算を実施して性能を向上させました。

エジンバラ大学・地球科学のWyn Williams教授は本プロジェクトへ次のようにコメントしました:「過去20年来、微小磁気モデリングは、磁気記録プロセスの基礎的な物理と、磁気記録テクノロジーの新しい技術開発のための設計ツールの両方に対して、多くの有益な情報をもたらして来ました。こうしたモデリングコードは、世界中の多くの研究者によって開発されています。英国の資金は技術開発よりも研究に割かれているため、このような研究費の捻出は困難でした。また、コード開発に長けたスタッフの確保も問題です。dCSEプロジェクトは、特定の知識を持つ科学研究者と数値モデルの迅速な開発が可能な専門家を提供しており、研究者は並列化の詳細よりも科学研究に焦点を当てることが可能でした。」

さらにWilliams教授は、MicroMagとHECToRを用いた2つの科学上の課題があるとコメントしています。最初の課題は、岩石粒子の磁気安定性です「実験と理論の整合を取るためにはMicroMagの現状の限界である200倍のオーダーの解像度が必要です」。2番目は非均一に磁化された粒子の熱的性質です:「新しいMicroMagの能力とHECToRの計算資源により、50年来解析的な理論で解明できなかった重要な問題解決に現実的な望みが生じます」。

HECToR
HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。

これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているMicroMagプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。

プロジェクトの背景

MicroMagは、ランダウ-リフシッツ-ギルバート方程式を用いて、サブミクロンスケールの鉱物系の磁気的性質をモデル化するコードです。方程式の離散化には有限要素法を用い、磁区境界のモデル化する際に十分な精度を確保します。このコードは、鉱物の磁気的性質が時間スケール上でどのようにミクロな構造と共に変化するかを研究するのに用いられます。MicroMagno最初のバージョンはシリアルコードでした。プロジェクトの目標はこれを並列化して、HECToR上で効率的に実行させることです。作業は、(a)非構造格子の分割の最適化を除いた汎並列化と主成分場の並列化、および(b)これらを含めた全体の並列化です。

エジンバラ大学のWyn Williams教授がプロジェクトの主任研究員です。EPCCのChris Maynard博士は6人月をかけて、NAG CSEチームと協力して遂行しました。

プロジェクトの結果

作業開始前の数年間でMicroMagコードは、全体の計画なしに様々な研究者により強化されてきています。このため保守が困難に見え、旧式の機能や歴史的な特徴を持ち合わせていました。よって、最初にレガシーコード以外についてコードのリファクタリングを行い簡潔なコードへ修正しました。この作業には、独立した機能の抽象化と再利用のためのモジュール化などのFortran90の現代的なテクニックも含みます。

作業(a)では、時間発展微分方程式への微分方程式ライブラリCVODEの組込みが行われました。この結果、以前のコードに比べて1.64倍高速化しました。しかしながら主成分場がCVODEへ渡されるやり方が原因で、半並列化が妨げられることが判明しました。NAGとの話し合いの結果、作業(a)は中断して(b)の全体の並列化に注力する方針へ切り替えました。さらにPETSc並列ライブラリの利用も示唆されました。

PETScの並列データ構造がコードへ導入されて並列処理が可能になりました。CVODEインターフェイスにバグが見つかりましたが、PETSc開発者によりパッチの提供が予定されています。16ノード(32コア)までのベンチマークでは、既存コードのバグも有り、性能向上は見られませんでした。性能劣化の原因調査が必要とされています。

後継プロジェクトの結果

その後の後継プロジェクトでの行列データ変換コードの改良により、100245要素ケースでは、初期化を省いた実行時間が16コア上で5倍高速化しました。


詳細なテクニカルレポートは以下で参照いただけます。
http://www.hector.ac.uk/cse/distributedcse/reports/

さらに詳しくお知りになりたい場合は、日本NAG株式会社 コンサルティンググループご相談窓口 https://www.nag-j.co.jp/nagconsul/toiawase.htm (あるいはメール:consul@nag-j.co.jp)までお問い合わせください。

関連情報
MENU
Privacy Policy  /  Trademarks