学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

11-NA05

超並列分子軌道法プログラム OpenFMO の性能評価と高性能化
南一生（理化学研究所）
概要
次世代スーパーコンピュータでの実行を目指して，並列 FMO プログラム OpenFMO の高性能化を行った．FMO 計算で必要となるモノマー密度行列データの保存方法について検討して，MPI-2 の片側通信を用いた実装と 1 対 1 通信を用いた実装の 2 つの方法について性能評価を行った．その結果，片側通信を用いた場合には，ライブラリ側での片側通信の実装によっては，密度行列データへのアクセス性能が大きく低下することが分かった．一方で，1 対 1 通信を用いた場合には，効率よくアクセスが行えることが分かり，この方法を用いた 8000 並列という大規模並列実行時でも，密度行列アクセスに伴う通信時間の増加が非常に小さいことも分かった．

1. 研究の目的と意義

しい．九州大学で開発されている並列 FMO 計算プ【研究の目的】

ログラム OpenFMO は，非経験的第一原理電子状態

フ ラ グ メ ン ト 分 子 軌 道 （ Fragment Molecular

計算手法の中で最も単純な Hartree-Fock（HF）法

Orbital Method, FMO）法はたんぱく質や DNA，糖を基にした FMO 計算に特化したプログラムである．

鎖などの生体分子に対する第一原理電子状態計算

そのため，ソースコードが比較的短く（全体で約を高速に行うために開発された計算手法である．

54,000 行），標準的な並列処理ライブラリである

FMO 法では計算対象となる巨大な分子を 20～40 原

MPI を用いた並列化が行われているため，実行プロ子程度の小さなフラグメントに分割して，各フラファイル取得，ならびに，最適化作業が行いやす

グメント（モノマー）やフラグメントペア（ダイい．昨年度は，OpenFMO プログラムを用いて FMO 計マー）に対する小規模な電子状態計算を行うこと

算の効率的な超並列処理において重要となる，各で，分子全体の電子状態を近似する．複数のモノモノマー，ダイマーの電子状態計算の細粒度並列

マー，あるいはダイマーの電子状態計算を並列に処理部分についての性能評価を行い，効率を低下実行（大粒度並列化）できること，ならびに，各させている場所を特定して，動的負荷分散を用いモノマー，ダイマーの電子状態計算自身も更に並ることで負荷均等化を図り，並列性能を向上させ列処理（細粒度並列化）が可能であることから，ることができた．今年度は，FMO 計算で扱うモノマ

FMO 法は超並列処理向きの計算手法である．GAMESS

ー密度行列と呼ばれる中間データに対するアクセや ABINIT-MP といった並列 FMO 計算プログラムのスに伴う通信に注目して，アクセス性能を向上さ既存実装があり，1,000 並列程度であれば効率よくせ，FMO プログラム全体のさらなる性能向上を目指並列処理できることが確認されている．しかし，した．そのために，モノマー密度行列データの保10 万並列を超えるような超並列実行時に高い並列存，アクセス方法を理論化学の研究者と協力して化効率を保つためには，負荷分散を正確に行う，検討して，最近の大型計算機のアーキテクチャに通信負荷を削減する，あるいは，使用する計算機適合するような最適化を行うことを本研究の目的のアーキテクチャに適したプログラミングを行う， とした．などの最適化を行って，並列化効率を落とす要因【研究の意義】を可能な限り取り除く作業が必須である．そのよFMO 法は，これまでにもたんぱく質や DNA などの生うな精緻な最適化作業を行う場合には，対象とす体分子と薬剤との相互作用解析に応用されてきてるプログラムが単純な構造を持っている方が好まおり，特に，創薬分野における有用な道具として1

学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

期待されているシミュレーション手法の１つであ稲富雄一（九州大学）

る．創薬分野では，候補化合物の絞り込み（スクOpenFMO プログラムの実装リーニング）に計算機シミュレーションを用いる(2) 共同研究分野

ことが考えられる．FMO 法をスクリーニングに用い超大規数値計算系応用分野

るためには，現在よりも短時間に，多数回計算す(3) 当公募型共同研究ならではという事項などることが必要になる．そのためには，中規模，あ超並列化に向けたプログラムの最適化には，実機るいは，大規模分子に対する FMO 計算を，今よりを用いた性能評価を行うことが不可欠である．今も格段に高速に行う必要がある．

回，スーパーコンピュータを実際に利用して，性FMO 法は大粒度，細粒度の 2 段階並列化が可能な能評価を行うことができ，並列性能を向上させる計算手法であるため，超並列処理向きの計算手法ための方針を決めるための情報を得ることができであるが，既存実装は最近の大型計算機の主流とた．

なっている小型 SMP 計算機（計算ノード）を超高速相互結合網で接続した SMP クラスタ型計算機の3. 研究成果の詳細と当初計画の達成状況特徴を考慮したプログラム設計になっていないた(1) 研究成果の詳細について

め，数万～数 10 万並列（超並列）実行時には，効【FMO 法概要】

率的な処理が困難だと考えられる．現在稼働中，FMO 法は，計算対象となる大規模分子を，20あるいは，開発中のスーパーコンピュータは数万～40 原子の小さなフラグメントに分割して，分割プロセッサ（コア）を搭載した超並列計算機であした各フラグメント（モノマー），および，フラグり，今後そのような計算機を利用する機会が増加

メントペア（ダイマー）に対する小規模電子状態することを考えると，近い将来には，比較的容易（分子のエネルギー，電子分布の様子など）計算に数万並列のプログラムを実行できるようになるを行うことで，分子全体の電子状態を近似する計と思われる．そのような環境下で，大規模 FMO 計算手法である．FMO 法で最終的に求めたい量は，算を高速に実行するためには，超並列実行時に効FMO，および，密度行列分子全体のエネルギー Etotal

率的に並列処理できるプログラムの開発が必須でであるが，FMO 法では以下のように近似すDFMO
totalある．超並列計算機アーキテクチャを考慮して高る．

性能な超並列 FMO プログラムが作成できれば，創FMO
Etotal=

薬分野におけるスクリーニングを計算機シミュレーションでサポートすることが可能となるため，

DFMO
total =

薬剤の開発コストの削減や開発期間の短縮に寄与

N fragN frag

∑ EIJ − ( Nfrag − 2 ) ∑ EI
I >JIN fragN frag∑ D −(NI >JIJfrag(1)− 2 ) ∑ DI
I

ここで，N frag はフラグメント（モノマー）数，{EI }できると考えている．

（ { EIJ } ）は，モノマー（ダイマー）のエネルギー，2. 当拠点公募型共同研究として実施した意義

また，{D I } （ {D IJ } ）は，モノマー（ダイマー）の(1) 共同研究を実施した大学名と研究体制

密度行列を，それぞれ表わす．モノマーの電子状

大学名：九州大学

態計算を行うためには，計算しているモノマー自研究体制：

身の密度行列のほかに，その近傍にあるモノマー南一生（理化学研究所）の密度行列も必要となる．

分散データ保存，アクセス方法に対する計算機科

()

( { }

EIn +1 DnI +1 ← f DnI , DnK

学的な観点からの支援

K ∈neighborhood of monomer I)(2)

高見利也（九州大学）

式(2)は，モノマーのエネルギー，密度行列が該当

OpenFMO の性能評価

モノマーとその近傍にあるモノマーの密度行列の2

学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

関数であることを表わしている．一般に，式(2)の引数として与えているモノマー I の密度行列 D互作用で，ダイマーの電子状態を近似する．

nI

EIJ ← f ( EI , EJ , D I , D J )と，出力として得られる DnI +1 は異なる．FMO 法で(4)

D IJ  D I ⊕ D J

は，この関数の入力 {DnK } と出力 {DnK+1} の差が十分

この近似のことをダイマーES 近似，この近似を行に小さくなる（モノマーの密度行列が収束する）うダイマーのことを ES ダイマーと呼ぶ．一方，まで，各モノマーの電子状態計算を繰り返す．こ

負荷の重い SCF 計算を行うダイマーを SCF ダイの処理を，Self- Consistent Charge (SCC)処理，マーと呼ぶ．ダイマーES 近似を適用することで，と呼ぶ．さらに，FMO 計算では，ダイマーの電子．．． ．．．．．．．．．．．．．．
状態計算を，SCC 処理で収束したモノマー密度行．．．．．
列を用いて行う．

ES ダイマーを構成する 2 つのモノマー I ， J の(密度行列のみを用いてダイマー電子状態計算を行うことができる．
図１に FMO 計算の概略を示す．

)

計算のはじめに，モノマー電子状態計算で必要と(3)密度行列を用いて，各モノマーの電子状態計算をEIJ ( D IJ ) ← f D I , D J , {D K }K∈neighborhood of monomer I and J

なるモノマー密度行列の初期値を計算する．そのダイマーの電子状態計算も，モノマーの場合と同行い，エネルギーや新たな密度行列を求める．こ様に，ダイマーのエネルギー，密度行列は，ダイの操作を，得られた密度行列と与えた密度行列とマーを構成する２つのモノマー I ， J と，その近が一定の収束条件を満たすまで繰り返す．モノマ

傍にあるモノマーの密度行列の関数である．FMO

ーの密度行列が収束したら，その結果を用いて，法では，式(2)，(3)で得られたモノマー，ダイマーダイマーの電子状態計算（ダイマーSCF 計算，ダのエネルギー，密度行列，および，式(1)を用いて，イマーES 近似計算）を行い，(1)式を用いて分子分子全体の電子状態を求める．

全体の電子状態（エネルギー，密度行列）を計算

FMO 法では計算精度を犠牲にすることなく計する．

算時間を削減するために，ダイマーの電子状態計【並列 FMO プログラムの基本構造】

算に対する近似を行う．この近似では，ダイマー

前述のように，FMO 法は複数のモノマー（ダイマを構成する２つのモノマー間の距離が離れているー）の電子状態計算を並列に処理する粗粒度並列

場合に，繰り返し計算が必要で計算負荷の大きな化と，各モノマー（ダイマー）電子状態計算自身Self-Consistent Field (SCF)計算を行わずに，2 つを並列処理する細粒度並列化を行うことが容易でのモノマーのエネルギーと，モノマー間の静電相
masterMPI_COMM_WORLD

ジョブ割り当て初期密度行列の計算 (for all monomer)

モノマー電子状態計算 (for all monomer)

rank 0rank 0rank 0rank 1

rank 1

rank Pg-1

rank Pg-1

・・・

rank 1・・・

SCC 処理Yes

workergroup Ng・・・

収束？

workergroup 2・・・

密度行列の更新

No

workergroup 1

rank Pg-1

ダイマーSCF 計算 (for all SCF dimer)
密度行列の授受ダイマーES 近似計算 (for all ES dimer)

図２：並列 FMO プログラムの基本構造

図１：FMO 計算の流れ
3学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月あるため，2 段階並列処理向きの計算手法である．

比例して増加するため，入力規模に対する並列 FMO プログラムの基本的な構造を，MPI で並scalability を保つためには，各計算ノードがす

MPI プロセスは，列化した場合を例に図２に示す．

べてのモノマー密度行列データを持つのではなく，1 つが FMO 計算の制御を行うマスタプロセスとな複数のノードで分散保存して，その分散保存されり，残りが各モノマー，ダイマー電子状態計算をたデータに効率的にアクセスできるようにする必行うワーカプロセスになる．ワーカプロセスは複要がある．そのために，今回はモノマー密度行列数（図では Ng 個）のグループ（worker group）にデータの保存方法について検討した．

分けられる．
この worker group 単位で，モノマー，まずはじめに，計算を行うプロセス（ワーカプダイマーの電子状態計算を行う（粗粒度並列処理）． ロセス）がモノマー密度行列の保存を分担して行各 worker group には複数（図では Pg 個）のプロう方法（以降，方法１）を実装した．この方法でセスが含まれており，マスタプロセスに割り当ては，各プロセスが密度行列データの保存と計算のられたモノマー（ダイマー）の電子状態計算を Pg両方を行うため，１つのコードで計算とデータ保プロセスで並列処理する（細粒度並列化）．このよ存の２つの処理を記述することができること，な

うに，並列 FMO プログラムは 2 段階並列化されてらびに，すべてのプロセスで分担してデータ保存おり，かつ，マスタ‐ワーカ型の実行スタイルにを行うために入力に対する scalability も高い，なる．ただ，注意しなければならないのは，各という特徴がある．図３にワーカ 8 プロセスを２worker group 間でモノマー密度行列データの授受つのワーカグループに分割して，9 個のモノマーが必要となるため，純粋なマスタ‐ワーカ型プロ密度行列を分散して保存する場合の模式図を示す．

グラムではない点である．

ここで密度行列データは数字付きの○で示されて超並列実行時のターゲット分子では，フラグメおり，数字がモノマー番号を表している．あるント分割した場合にモノマー数（フラグメント数）

worker group でモノマー密度行列データが必要とが数 1000～数万になると考えているが，その場合なった場合には，worker group のマスタプロセスには，データサイズの観点から全モノマー密度行が必要なデータを持っているプロセス（ターゲッ列のデータを各ノードで保持することが困難であトプロセス）からデータを取得し，得られたデー

り，一部プロセス，あるいは，全プロセスで分散タを worker group 内で Bcast する．一方，計算し保存することが必須となる．その場合には，各モたモノマー密度行列を用いて更新を行う場合には，ノマー，ダイマーの計算で必要となるモノマー密マスタプロセスがターゲットプロセスにデータを度行列データが，一般には，計算を担当する worker送信する．一般に，各 worker group は独立に計算

group 内のプロセスに存在しないため，該当デーを行っており，かつ，必要なモノマー密度行列デタを保存しているプロセスとデータが必要な
worker group のプロセスとの間でデータのやり取りが必要となる．
【モノマー密度行列の取り扱いについて】
これまで述べてきたように，FMO 計算では，あるモノマー（ダイマー）の小規模電子状態計算を行う際に，周辺モノマーの密度行列データが必要となる．京コンピュータなどの大型計算機を用いる際には，これまでよりも大規模な入力データを用いた計算を行うことができると考えられる．モノ

図３：方法 1 によるモノマー密度行列データの分散保存方法

マー密度行列の全データ量は入力データの規模に（ワーカプロセス数＝８，モノマー数＝９の場合）

4

学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

ータを他の worker group のプロセスが保持していのマスタプロセスがターゲットプロセス（ストレることがあるため，モノマー密度行列データの取ージプロセスの１つ）にデータ要求を行い，得ら得，更新処理を，ターゲットプロセスが属するれたデータを worker group 内に Bcast する．計算

worker group の邪魔をせず（余計な同期なし）にしたモノマー密度行列データで更新処理を行う場

行うためには，同期が必要な 1 対 1 通信ではなく，合には，worker group のマスタプロセスがターゲ非同期の（受動的）片側通信機構が必要となる．

ットプロセスに対して更新要求を行った後，デーただし，MPI-2 の片側通信機構を用いてこの方法タを送信することで更新処理を行う．この方法でを実装して性能評価を行った結果，後述のように，

は，ターゲットプロセスとワーカプロセス間の通片側通信の実装によって，性能が非常に悪くなる

信に，（ブロッキング）1 対 1 通信しか用いていなことが分かった．

いので，MPI-1 規格でも対応可能である．また，そこで片側通信を用いずに，しかも，worker入力データの規模に合わせてストレージプロセスgroup のジョブ実行を阻害しない方法として，デ数を変化させることで，入力に対する scalability

ータ保存のための専用プロセスを用いること（以も保つことができる．一方で，ストレージプロセ

降，方法２）を考えた．この方法では，モノマースとワーカプロセスのプログラムを別々に準備す

密度行列データを保持してワーカプロセスからのる必要があること，また，ストレージプロセスとアクセス要求に応答することを専門とするストレワーカプロセス間で負荷不均衡が生じやすいこと

ージプロセス（storage group に属する）と，計が欠点である．

算を専門に行うワーカプロセス（いずれかの今回は，ここで示した２つの方法をモノマー密worker group に属する）とを分離する．図４にワ度行列データの保存，および，アクセスに用いてーカプロセス数８，ワーカグループ数２，ストレ性能評価を行った．

ージプロセス数２，および，モノマー数９の場合【性能評価の方法】の模式図を示している．各ストレージプロセスは実装したモノマー密度行列データの保存，およワーカプロセスからのデータアクセス要求をび，アクセス方法に対する性能評価方法を以下に

MPI_Recv 関数で待ち，参照要求の場合には要求元示す．使用した計算機は九州大学情報基盤研究開

へデータを送信し，更新要求の場合には要求元か発センターにある小型クラスタ並列計算機（quadらデータを受信して該当モノマー密度行列データ

core Xeon×2/node, 7 nodes, インターコネクトを更新する．一方，ワーカプロセスは，モノマー＝10GbE）で，MPI として MPICH2（version 1.3.1），密度行列データが必要になると，worker group 内

コンパイラとして Intel C++ compiler（version12.0.0）を用いた．入力データとして，アクアポリン分子(PDB ID=2f2b，492 フラグメント）とアデノウィルスの KNOB ドメイン（PDB ID=1NOB，575フラグメント）の 2 種類を用いた．これらの入力データを用いて OpenFMO による並列計算を行い，MPICH2 に付属しているログ取得ツール MPE を利用して，実行プロファイルを取得した．以下に２つの方法それぞれに対する評価結果を示す．
【方法１の評価結果】

図４：方法２によるモノマー密度行列データの分散保存方法

まず，ワーカプロセスに分散保存されたモノマー密度行列データへのアクセスに対して MPI-2 の（ワーカプロセス数＝８，ストレージプロセス数＝２，モノマー数＝９の場合）

受動的片側通信機構を用いた場合（方法１）の実5

学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

行プロファイルを図５に示す．この図は MPE に付片側通信の実装が MPICH2 で行われているためだ

属しているプロファイルビューワ jumpshot を用と考えられる．例えば，図５の経過時間約 2.5 秒

いてモノマー電子状態計算部分のプロファイルの～7.5 秒あたりで worker group 1 のプロセスが片一部を抜粋したものである．横軸は経過時間，縦側通信の同期関数である MPI_Win _unlock 関数と軸はプロセスのランク番号を表しており，横方向後続する MPI_Bcast 関数による待ち時間を生じてに幅の広い色付きの帯はブロッキング通信や集団いるが， これは worker group 1 のモノマー電子通信，あるいは，片側通信を含む非同期通信の同状態計算で必要なモノマー密度行列データのター期処理の同期待ちなどの通信処理を表している．

ゲットプロセスが worker group 0 に含まれていた

また，縦方向の白い線は，ブロッキング 1 対 1 通ため，そのターゲットプロセスが MPI 関数を呼び信や片側通信の要求先と要求元を結んでいる．こ出している見られる経過時間約 7.5 秒付近まで，の例は 13 プロセスでの並列実行であり，ランク 0

worker group 1 のプロセスの片側通信に応答してのプロセスはマスタプロセスとして動作している

いないことが原因であると推測される．このようため，ほとんどがワーカからのジョブ要求待ちに，少なくとも MPICH2 に実装されている片側通信（MPI_Recv）である．残りの 12 プロセスを６プロの実装を用いると，分散保存した密度行列データセスずつ，2 つの worker group に分割している（ラへのアクセス性能が非常に悪くなるが分かった．

ンク１～６のプロセスを worker group 0, ランクMPICH2 は OpenMPI と並んで多くの並列計算機で利７～１２のプロセスを worker group 1 とする）．

用できる MPI ライブラリであるため，プログラムランク１とランク７の 2 つのプロセスが，分子積の可搬性を考慮すると，MPI-2 の片側通信機能の分 計 算 の 動 的 負 荷 分 散 で 用 い て い る global

利用を前提とした方法 1 によるモノマー密度行列

counter の専用プロセスとして動作しているため，データの取り扱いは，現状では好ましくない．

MPI_Recv によるジョブ要求待ちが生じていること【方法２の性能評価】が分かる．図５に示した結果で最も特徴的なこと

モノマー密度行列データを保存して，ワーカプは，MPI-2（MPICH2）の片側通信を用いた場合には，ロセスからのアクセス要求に対する応答のみを行

モノマー密度行列データ取得のために多くの待ちう専用プロセスであるストレージプロセスを用い時間が生じていることである．これは，片側通信た方法２を用いた場合における性能評価結果を図の際にデータの実体を持つプロセス（ターゲット６に示す．この例は，14 プロセスでの並列実行をプロセス）が何らかの MPI 関数呼び出しを行うました結果である．ランク 0 のプロセスがマスタプで，片側通信に対する要求に応答しない，というロセスで，ランク 7 の１プロセスをモノマー密度行列データを保存して，アクセス要求に応答する

図５：方法 1 を用いた場合の MPI プロファイ
ル（抜粋）図６：方法２を用いた場合の MPI プロファイル（抜粋）6学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

ためのストレージプロセスであり，残りの 12 プロに割り当てられたモノマー電子状態計算に必要でセスをランク１～ランク６までの worker group 0あった該当モノマー，および，周辺モノマーの密とランク８～ランク 14 までの worker group 1 の度行列数は 6 つであり，そのデータの転送に，経２つの worker group に分割している．この図を見

過時間 16.402 秒～16.404 秒の約 0.002 秒しかかると，ランク０のマスタープロセスは，方法 1 のかっていないことが分かる．このように，モノマ場合と同様に，各 worker group に対するジョブ割

ー密度行列データの保存，アクセスにストレージり当てを行うために MPI_Recv による worker group

プロセスを導入した方法 2 を用いると，モノマーからの要求待ちをしていることが分かる．各密度行列データへのアクセスに伴うワーカプロセ

worker group 内で global counter のマスタプロ

スの待ち時間が非常に小さくなることが分かる．

セスとなっているランク１とランク 8 のプロセス

さらに，この方法による大規模並列実行時の性能は，worker group 内の他のワーカプロセスからのを調べるために，グループ数をさらに増やした実ジョブ要求待ちで，こちらも方法１と同様に行を行った．使用した計算機は Riken Integrated

MPI_Recv による待ちとなっていることが分かる．

Cluster of Clusters（RICC）の超並列 PC クラス

ストレージプロセスであるランク７のプロセスは， タ部で，worker group 数 63，worker group あた
ワーカプロセスからのモノマー密度行列に対するり 256 並列（＝32 プロセス×４スレッド/worker

アクセス（参照，更新）要求待ちのため，ほとんgroup）での計算を行った．その際に，ストレージどが MPI_Recv での待ち時間となっている．一方で， プロセス数が１と２の場合で，モノマー密度行列モノマー密度行列データの参照，更新に伴うワーへのアクセスにかかる時間がどのように変化する

カプロセス側の待ち時間は，方法 1 の場合と違っかを調べた．入力データはアデノウィルス KNOB ドて，ほとんどないことが分かる．

メイン（PDB ID=1nob，575 フラグメント）で，基

図７は，モノマー密度行列データへのアクセス底関数として 6-31G(d)を用いた．その結果を表 1を行っている部分を拡大したものである．この図に示す．表１には，worker group 数が１と 63 のを見ると，worker group 0 のマスタプロセス（ラ場合に，それぞれ，ストレージプロセス数を１，ンク１のプロセス）からランク７のストレージプ２と変化させた際の，モノマー密度行列データ取ロセスへのアクセス要求（MPI_Send/MPI_Recv に得にかかる時間の合計を示している．この結果を対応する縦方向の矢印）があると，ストレージプ見ると，worker group 数が 1，63 のいずれの場合ロセスがすぐに該当モノマー密度行列データをでも，ストレージプロセス数が 1 から２へと増えworker group 0 のマスタプロセスへ送信している

ると，データアクセスが分散するため，密度行列ことが分かる．また，この部分で worker group 0

データ取得時間が短くなることが分かる．また，worker group 数が 63 でストレージプロセス数が１という，通信負荷の点で最も厳しい場合でも，
表 1：密度行列取得時間と worker group 数，ならびに，ストレージプロセス数の関係
ストレージプロセス数 worker group 数

密度行列データの取得に要した時間*（秒）図７：モノマー密度行列データへのアクセスの様子

1

137.8(37.8)

2

133.2(33.2)

16344.2(0.70)

26337.3(0.59)*; ()内は worker group あたりの平均値

7学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

今回の実験で最も通信負荷が小さいストレージプとが示された．また，大規模並列時の性能評価のロセス数２，worker group 数１の場合に比べて，結果でも，方法 2 で効率の良いモノマー密度行列密度行列データへのアクセス時間の増加が 11データへのアクセスができることが明らかとなっ（44.2-33.2）秒と軽微なものであることが分かった．

た．したがって，モノマー密度行列データの分散

この結果から，モノマー密度行列データへの効率保存，アクセス方法として，方法 2 を用いた場合的なアクセス方法を検討して，OpenFMO の並列性

では，大規模並列実行時でも大きな性能低下が見能を向上させる，という目標が達成できたと考えられないことが明らかとなった．ている．

方法 2 の実装では，ワーカプロセスとストレージ4. 今後の展望

プロセスの 2 種類のプログラムを記述する必要が今後は，FMO 計算のカーネルコードの一つである，あること，ならびに，ストレージプロセスのほと分子積分プログラムの最適化を行い，スカラ性能んどの仕事が保持しているモノマー密度行列デーと並列性能の両方で効率のよいプログラムにしてタへのアクセス要求待ちであり無駄が多い，といいく必要がある．また，Post Hartree-Fock 法やう短所がある．しかしながら，ワーカプロセスの密度汎関数法などを導入して，より高精度な計算モノマー密度行列データへのアクセスに伴う待ちができるように改良していく必要がある．これら

時間が非常に小さくなり，ワーカプロセスによるの改良を行い，大規模生体分子に対する精度のよモノマー（ダイマー）電子状態計算の実行効率がい FMO 計算が高速に行えるようになれば，創薬な高くなる．したがって，超並列 OpenFMO プログラどの分野での応用が可能になり，より短期間でのムにおけるモノマー密度行列データの保存，およ医薬品開発に貢献できるようなると考えている．

び，アクセス方法は，現状では，ストレージプロセスを導入した方法２が適当であると考えている． 5. 研究成果リスト(2) 当初計画の達成状況について(1) 学術論文

今年度の当初計画では，前年度行った小規模電子なし状態計算（細粒度並列化）部分の高並列化に引き(2) 国際会議プロシーディングス

続き，FMO 計算の超並列実行を行う際に性能に影なし響を及ぼすと考えられるモノマー密度行列データ(3) 国際会議発表の扱いに対する最適化を行うことにしていた．入1. Yuichi Inadomi, "Optimization of FMO Code

力データへの scalability を考えると密度行列デ(OpenFMO) for Effective Massively Parallelータを分散して保存する必要があるため，その分

Execution", poster P02, The 4th

散保存されたデータに対する参照，および，更新

French-Japanese Workshop on Computational

処理をどのように行うかを検討して，2 つの方法

Methods in Chemistry,2012.3.5～6で実装して，まず，簡単な性能評価を行った．そ(4) 国内会議発表の結果，
MPI-2 の片側通信機構を用いた場合には，

1. 稲富雄一，高見利也，本田宏明，小林泰三，あデータアクセスのための待ち時間が非常に大きく青柳睦，眞木淳，南一生「OpenFMO におけるフラなるため，全体の計算効率を著しく低下させる可グメント電子状態計算部分の高並列化」，日本コン能性があることが分かった．一方で，モノマー密ピュータ化学会春季年会 2011，ポスター発表３度行列の保存，アクセス要求を専門に行うストレ

P10,2011.6.15～17，東京工業大学大岡山キャンパージプロセスを導入して MPI-1 のブロッキング 1ス

対 1 通信で記述する方法では，ワーカプロセスか

2. 稲富雄一，眞木淳，本田宏明，高見利也，小林らのデータアクセス要求に短時間で応答できるこ泰三，西田晃，青柳睦，南一生，「並列 FMO プログ
8

学際大規模情報基盤共同利用・共同研究拠点 平成 23 年度共同研究 最終報告書 2012 年 5 月

ラム OpenFMO の超並列化への取り組み」，第 5 回分
子科学討論会 2011 札幌，ポスター発表 1P108，
2011.9.20～23，札幌コンベンションセンター
3. 稲富雄一，眞木淳，本田宏明，高見利也，小林泰三，西田晃，青柳睦，南一生，「並列 FMO プログ
ラム OpenFMO の超並列化への取り組み」，日本コンピュータ化学会秋季年会 2011，ポスター発表 1P02，
2011.11.4～5，福井商工会議所
4. 稲富雄一，眞木淳，高見利也，小林泰三，青柳睦，南一生，「並列 FMO プログラム OpenFMOの性能最適化」HPCS2012，ポスター発表 P1-3，
2012.1.25，名古屋大学
5. 稲富雄一，眞木淳，高見利也，本田宏明，小林泰三，南里豪志，青柳睦，南一生，「並列 FMO プロ
グラム OpenFMO の性能最適化」，情報処理学会研究
報告 2012-HPC-133，口頭発表，2012.3.26～27，
有馬温泉(5) その他（特許，プレス発表，著書等）
なし

9