対象プログラム | 心臓モデリング |
アプリケーション名 | CARP |
チューニング方法 | 非同期の並列処理機能,改善された並列メッシュ分割スキーマの実装 |
成果 | パフォーマンスが20倍に改善 |
HECToR dCSE Teamの最適化により心臓モデリングアプリケーション(CARP)の パフォーマンスが20倍に
Gernot Plank, Oxford University
Lawrence Mitchell, Edinburgh Parallel Computing Centre (EPCC)
HECToR CSE Team, Numerical Algorithms Group Ltd (NAG)
英国の国立学術スーパーコンピューティング設備であるHECToR向けのNAGの計算科学技術(CSE)サポートサービスを協力してEPCCのHPC専門家は,心臓の大規模なシミュレーションの研究用に設計され、広く利用されているソフトウェアパッケージ Cardiac Arrhythmia Research Package(CARP)を最適化しました。このプロジェクトの結果,人の心拍のモノドメインシミュレーションは5分未満に実行可能となり,性能が20倍向上しました。
CARPは心臓の大規模なシミュレーションの研究用に設計された広く利用されるソフトウェアパッケージです。その研究目的は心不整脈や心不全などの病状の治療に対してきめ細かい個別の治療を提供することです。コンピュータ内でのモデリングを臨床ワークフローへ取り込むことができる分野には,不整脈の治療(心不全の医療のための),治験(起こりうる副作用の調査)及びより良い除細動器の開発が含まれます。
dCSEプロジェクトの成功についてGernot Plank (主任調査員)は次のように述べています。「8カ月間のdCSEプロジェクトが成し遂げた結果はコードパフォーマンスの革新をもたらしました。私たちが興味を持っている大規模な問題,つまり人の心拍のシミュレーションについてコードパフォーマンスは20倍に改善し,心臓周期を5分未満でシミュレーションできるようになりました。治療計画の最適化のためにシミュレーションが今後重要な役割を担うと予測される臨床応用において,この進展は心臓モデリングに関して新たな展望を開きます。」
HECToR HECToR はResearch Councils を代行する EPSRC により管理されており、英国学術界の科学と工学をサポートする任務を負っています。エジンバラ大学にある Cray XT スーパーコンピュータはUoE HPCx 社によって管理されています。 CSE サポートサービスはNAG 社によって提供されており、高度なスーパーコンピュータの効率的な活用のために、ユーザは確実に適切なHPC専門家にコンタクトできます。CSEサポートサービスの重要な特徴は分散型CSE(dCSE)プログラムです。これは簡潔なピアレビューを経てユーザからの提案に応える、特定のコードのパフォーマンスとスケーラビリティに対処するプロジェクトです。dCSE プログラムは、伝統的なHPCユーザアプリケーションサポートとNAG によるトレーニングで補われる、約 50 の集中的プロジェクトから成り立っています。 これまでに完了した dCSE プロジェクトは、CSEの尽力により可能なコスト削減と新しい科学の優れた適用例をもたらしました。ここで報告されているCARPプロジェクトは成功を収めたパフォーマンス改善であり、新たなサクセスストーリーとなっています。 |
プロジェクトの背景
このdCSEプロジェクトの目的は,CARPコードを大規模なHPCプラットフォーム上で効率的に実行させることでした。並列分割スキーマはパフォーマンスの悪い高レベルのロード・インバランスを引き起こし,出力ルーチンは大規模システムのシミュレーションで著しいボトルネックを引き起こしていました。従って目的は,まず初めに使用する分割スキーマを改善し,次に出力ルーチンを最適化することによって CARP の強スケーリング性を改善することでした。
オックスフォード大学の Gernot Plank はプロジェクトの主任調査員でした。エジンバラ大学のEPCC のLawrence MitchellはNAG CSE チームとCARP 開発者と協力して8人月のプロジェクトを遂行しました。
Plank 博士は、HECToR上のCARPの使用量は想定コスト£140,000で2011年に1000万AU(allocation units)(注)になると見積もりました。
プロジェクトの結果
dCSE プロジェクトは、非同期並列出力機能及び改善された並列メッシュ分割スキーマを実装しました。これらのコード改善は小規模システムについては約250%のパフォーマンスの改善、大規模シミュレーションでは1800%までの改善をもたらしました。こうした加速の結果,以前は約75分かかっていた人の心拍モノドメインシミュレーション(1秒の動き)は5分未満で完了できるようになりました。
この研究の成果はCARPのメイン開発リポジトリに統合され,世界中のユーザが利用できます。研究と結果の普及が現在進められています。CUG 2010で学術論文が発表され、雑誌掲載論文が現在審査中です。この研究についての会議発表論文が公開されました(L. Mitchell, M. Bishop, A. Neic, M. Liebmann, E. Hoetzl, G. Haase, G. Plank. Modeling Cardiac Electrophyiology at the Organ Level in the Peta FLOPS Computing Age. AIP Conference Proceedings, 1281(1):,407-410, 2010)。
(注)アロケーションユニット(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)までお問い合わせください。