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

HECToRプロジェクト ChemShellの速度改善

対象プログラム 触媒化学シミュレーション
アプリケーション名 ChemShell
チューニング方法 タスクファーミングの手法を用いた並列処理の実装
成果 速度が8倍に改善
[2013年5月掲載]

HECToR dCSE Teamにより実装された並列化によりChemShellを用いた触媒化学シミュレーションの速度が8倍に

Richard Catlow, University College London (UCL)
Thomas Keal, STFC Daresbury Laboratory
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)


STFCにおいて英国の国立学術スーパーコンピューティング設備であるHECToR 向けのNAGの計算科学技術(CSE)サポートサービス業務を行っているHPC専門家は,ChemShellパッケージの並列化のレベルを高め、シミュレーションを何千コアまで拡大できるようにし以前よりも8倍高速化することができました。

科学上のインパクトに言及して,主任調査員 Catlow (UCL)博士は次のように述べています。「多くのプロジェクトで,特に化学反応性とナノ材料と欠陥のテーマにおいて,材料科学コンソーシアムの研究はコードChemShellによって提供される高度な計算化学ツールに大きく依存しています。このソフトウェアの重要な機能はハイブリッド量子力学/分子力学による埋め込みを含む複雑な計算モデルの開発と利用です。コンソーシアムのメンバーは,不均一系触媒の構造と反応性の研究,バルク及び表面における欠陥と活性点に関する物理及び化学プロセスの研究,そして高度な機能材料のインターフェースの研究のためにこれらのモデルを適用します。この研究で普遍的に現れる重要なタスクの一つは、CPU負荷の大きいポテンシャルエネルギーの超曲面あるいはランドスケープの計算です。dCSEプロジェクトの最新のソフトウェア開発によって、私たちは効率良く1,000を超えるコアで実行できるようになります。また既存の実装と比較して約50%から90%最も時間のかかる部分を削減しています。」

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

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

プロジェクトの背景

このプロジェクトの目的は,HECToR 上で不均一触媒作用をより有効に研究するために、ChemShellを1,000コア以上で実行できるように拡張することでした。ChemShellは量子力学(QM)と分子力学(MM)のソフトウェアパッケージを統合してQM/MM計算を実行します。 ChemShellは構造最適化といった高度なタスクを実行する際には、エネルギーやその勾配計算に外部プログラムを利用します。UCL のRichard Catlow 教授が主任調査員PIです。STFC のThomas Keal はNAG CSE チームおよびユーザと協力して9人月でプロジェクトを遂行しました。

ChemShell

ChemShell はQM/MM計算を実行するための量子力学(QM)と分子力学(MM)ソフトウェアパッケージの統合機能を備えています。ChemShellが構造最適化といった高度なタスクを実行する際のエネルギーと勾配の計算には外部プログラムが使用されています。
http://www.chemshell.org.

プロジェクトの結果

ChemShell の現在の実装では外部のプログラムを利用していますが,それ自身は並列では動作しません。タスクファーミングの手法を用いたChemShellのレベルにおける追加の並列処理レイヤーが実装されました。このタスクファーミング手法により複数の勾配計算を並列実行することができます。この結果外部プログラムのみに依存するよりはるかにスケーリング性が良くなりました。1024コアのテストケースでは,元の実装(非タスクファーム)と比較して、新しいコードによる有限差分ヘッシアン計算は7倍高速化しました。DL-FIND 構造最適化ライブラリの並列実装が、ChemShell のタスクファーム版とインターフェースされました。更に,DL-FIND の遷移状態決定に関するNudged Elastic Band(NEB)法が並列化されました。QM/MM 界面化学NEBテストケースでは8倍以上高速化し、確率的探索ベンチマークでは6倍まで高速化しました。

プロジェクトの成功について Catlow 教授は次のように述べています。「HECToR スーパーコンピュータリソースの600万AU (allocation units)(注) が、この6か月間ChemShellを利用するプロジェクトに割り当てられています。このプロジェクトで行われてた技術開発は、現在ChemShellを用いて行われている研究の効率を大幅に改善し,現在のHECToRスーパーコンピュータと新たなHPCプラットフォーム両方において複雑な系やプロセスを研究を可能にするでしょう。HECToR が存続している間こうしたプロジェクトへの時間割り当てが増加すると私たちは予測しており、エネルギー材料の分野でのより大きなプロジェクトが可能となるでしょう。」


(注)アロケーションユニット(allocation unit, AU)はHECToRにおけるノード課金単位です。大まかに言えばLinpackベンチマーク(Rmax)を基にした1時間当たり1Tflopsの実行量がkAUに相当します。例えば60Tflopsのプロセッサ群は60kAU/時間に相当します。

詳細なテクニカルレポートは以下で参照いただけます。
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