ABINIT-MPによるFMO計算の「ベンチマーク」と「FOCUSスパコンにおけるシステム・並列コア数の選択」
神戸大学計算科学教育センター
鈴木洋介，渡邉博文
2018年2月2日（金）1はじめに• 次のような疑問に答えたい• ABINIT-MPの並列化効率はどうなっているか• FOCUSスパコンでABINIT-MPを使う際のシステムや並列コア数の選択はどうしたらいいのか．

• 以下の点に注意• この発表における料金は従量課金を前提としており，金額に関しては全て税抜きとなっている．
• H30.4.1からFOCUSスパコン使用料金が変更される予定で，この発表では現状（現料金）とH30.4.1以降（新料金）のどちらにも対応している．高並列計算では利用料金は実質値下げとなる．
https://www.j-focus.or.jp/focus/focus_information/entry1690.html
2計算対象と計算条件
使用プログラム：FMO計算プログラムABINIT-MP(ver. 7)• 計算対象• ER(略称):「エストロゲンレセプターのリガンドバインディングドメイン(241残基，3899原子)」と「エストロゲン(17βエストラジオール)（44原子）」の複合体 (PDBID:1ERE)• HIVp（略称）： 「HIV-1プロテアーゼ(198残基，3128原子)」と「その阻害剤（Lopinavir）(94原子)」の複合体(PDBID:1MUI)(参考)アミノ酸残基: 7-23原子• 計算の詳細• 基底関数 6-31G*• 電子相関 MP2• MPI並列• フラグメント分割について• ER:全系を自動で行った• HIV-P: HIV-1プロテアーゼは自動分割を利用．Lopinavirは基本的には手動分割，自動分割も最後の方で比較
3

主題
1. 並列化効率について
2. ABINIT-MPをFOCUSスパコンで使う場合，どのシステムでどの程度の並列コア数を指定すればいいのか• どのシステムがいいのか• 何コアがいいか• 基本編（計算時間面，スケーラビリティ，費用面）• 応用編（大量のデータを計算する場合）

3. 「タンパク質-小分子リガンド複合体」における手動フラグメント分割による効率化
41.並列化効率について
HIVpをHシステムで計算した場合のスケーリング• 250コア程度までは線形に近い

80

Rate

60

• HIVpは実際に創薬研究の対象となるタンパク質複合体であり，スケーリングがよくなるように選んだ系ではない。

402000250

5007501000

コア数（Hシステム）
Rate(計算時間の逆数の相対値)

線形5

1. 並列化効率について
2. ABINIT-MPをFOCUSスパコンで使う場合，どのシステムでどの程度の並列コア数を指定すればいいのか• どのシステムがいいのか• 何コアがいいか• 基本編（計算時間面，スケーラビリティ，費用面）• 応用編（大量のデータを計算する場合）

3. 「タンパク質-小分子リガンド複合体」における手動フラグメント分割による効率化
6今回検討したシステム
ノード間に並列に向いているとされるA,D,F,Hの4つのシステムを対象とした．

ノード数 ノード構成(CPU)

ノード時間単価
ノード構成 （円/ノード時間） 1コア1時間あた（メモリ） （基本料金）
りに換算（円）

1コアあたりのメモリ
(MB)

Aシステム

2242.26GHz(6コア)×2CPU

48GB

1008.33

4000

Dシステム

802.5GHz(10コア）×2CPU 64GB

300153200

Fシステム

142.2GHz(20コア）×2CPU 128GB

500

12.53200

Hシステム

1362.1GHz(8コア）×1CPU

100

12.5

8000

64GB

7メモリの設定について• メモリの設定を適切にしないと計算が途中終了してしまうことがある．
• 基本的には，ajfファイルでの設定”memory”を1コアあたりのメモリよりもやや小さく設定する．
• MP2計算の場合は”memorymp2”を設定することも検討すべき.
今回の設定(MB)• 今回の設定
1コアあたりのシステム メモリ
計算対象 memory memorymp2
ER3500設定なし
A4000
HIVp
3500設定なし
ER28002200
D3200
HIVp2800設定なし
ER2700設定なしF
3200
HIVp
2800設定なし
ER7500設定なし
H
8000
HIVp7500設定なし

8

FOCUSスパコンの従量課金について–現状のHシステムを例に-• ジョブ毎の「ノード時間」×「ノード時間単価」で求められる• Hシステムで160コアの並列計算を4時間したとする．
• Hシステムは1ノードは8コアである• 160コア使うと160/8=20なので20ノード使うことになる．
• したがってノード時間は20×4=80ノード時間となる．
• ノード時間単価はノード数毎に決まっており20ノードだと「90円／ノード時間」（あとで詳述）• 結局80×90=7200円となる• Hシステムの場合は1ノード8コア• 例えば153コアから160コアはいずれも20ノード使うことになる．
• コアの指定に関しては8コアを単位として計算した方が良い．

9

どのシステムがいいのか(ERの場合)-計算時間と料金10000

ER(240コア比較)• すべて240コアで計算• 計算時間，料金共にHシステムが一番良い• Fシステムが次点

8000
6000
4000
20000Aシステム Dシステム Fシステム Hシステム(20ノード) (12ノード) (6ノード) (30ノード)
計算時間（秒）
現料金（円）
新料金（円）（H.30.4.1以降）

10どのシステムがいいのか(HIVpの場合)-計算時間と料金6000
5000• 全て240コアで計算• FシステムとHシステム
が拮抗

4000
3000

• 新料金ではHシステムがさらに安くなる

2000
1000
0
Aシステム

Dシステム

Fシステム

Hシステム

(20ノード)(12ノード)(6ノード)(30ノード)計算時間(秒)
現料金（円）
新料金（円）（H30.4.1以降）• 現状，Fシステムは比較的混雑しておりHシ
ステムはその点で有利

2つの結果を総合してHシステムがおすすめ！
111. 並列化効率について
2. ABINIT-MPをFOCUSスパコンで使う場合，どのシステムでどの程度の並列コア数を指定すればいいのか• どのシステムがいいのか• 何コアがいいか• 基本編（計算時間面，スケーラビリティ，費用面）• 応用編（大量のデータを計算する場合）

3. 「タンパク質-小分子リガンド複合体」における手動フラグメント分割による効率化
12Hシステムのノード時間単価0
ノード時間あたりの単価（円）• 従量課金（ジョブ毎）＝「ノード時間」×「ノード時間単価」• 並列割引=並列コア数が大きいほど単価が安い

並列ノード数（Hシステム）
50100

150

110
9070
50
3005001000

並列コア数（Hシステム）

新単価（H30.4.1以降）

現在の単価
13

Hシステムで1時間計算した時の料金
1時間の利用料金（円）0

並列ノード数（Hシステム）
50
100

150

• 現在

8000

• 割引境界値に注意

6000• 例えば64ノード（512コア）よりも65ノード（520コア）の方が良
さそう

4000
2000

• 2018年4月1日以降

00500

1000

並列コア数（Hシステム）

新料金（H.30.4.1以降）• 31ノード(248コア)以上が非常にお得

現料金

14

何コアがいいか計算時間の検討• 計算対象: HIVp• 実行した960コア(=120ノード)（全136ノード）までコア数が多いほど計算時間が短い計算時間（秒）100000

10000

1000
10100

• 早く終わらせたい（1つの）計
算がある場合はコア数はでき1000るだけ大きくして良い

コア数（Hシステム）
計算時間（秒）15

Scalabilityの検討 (HIVp)
Hシステム上のABINIT-MPのStrong scailing(対象：HIVp)• Strong scaling80• 同じ計算をコア数を大きくした
時どのくらい早くなるか

60
40
2000

250

500

750

1000

コア数(Hシステム）
Rate(計算時間の逆数の相対値)
ideal• 計算資源の有効活用という観点からすると，250コア程度以下が望ましい• 大量の種類の計算を早く終えたい場合，コアを小さめにして複数のジョブの同時実行が良い
16

何コアがいいのか（料金面）
Hシステム上のABINIT-MPによるFMO計算（対象:HIVp）

コア数を増加させたとき(ノード時間単価が一定になるまで)

3000「ノード時間の増加効果」<「並列割引の漸増効果」

2500
2000
1500

料金は減少

1000
0500
1000
• グラフについて
コア数(Hシステム)• 現料金は520コア（H30.4.1以降の新料金料金（円）新料金（円）は264コア）で最小値を持つ

17

ABINIT-MPをFOCUSスパコンで使う場合，どのシステムでどのくらいのコアを使えばいいのかーここまでのまとめー
1.FMOのMPI並列にはHシステムがお勧め
2.コア数はどうすべきか？
＊とにかく速度重視なら，コア数は大きければ大きいほど良い＊スケーラビリティの観点からは250コア程度以下がいい＊計算料金の安さを求めるならー現在は520コア
ーH30.4.1以降は264コア

18

1. 並列化効率について
2. ABINIT-MPをFOCUSスパコンで使う場合，どのシステムでどの程度の並列コア数を指定すればいいのか• どのシステムがいいのか• 何コアがいいか• 基本編（計算時間面，スケーラビリティ，費用面）• 応用編（大量のデータを計算する場合）

3. 「タンパク質-小分子リガンド複合体」における手動フラグメント分割による効率化
19大量のデータを計算する場合のコア数の選択• 大量（複数）の分子系を計算する場合は，ジョブを複数投入することになる．（Hシステムの場合1ユーザ200個まで同時に投入可能）• コア数の選択については，「計算時間」と「コスト」から選択• スケーラビリティの結果から，早い計算を重視するなら小コアを選択すべき．ただし，料金は高くなりそう．
• 場合によってはノードの空き状況を勘案• ここではHIVpと同等の物質を50種類計算することを想定する• 「各コア数での計算時間」についてはHIVpの計算による実測に基づいているが，一部簡略化した上での推定があり，概算である．
• 計算時間の推定では並列コア数ごとの「総必要ノード時間」を「68ノード」（全ノードは136ノード）で割って推定した．
20

HIVpと同様の計算を50回するときの並列コア数の選択• 選択候補をあげる

Hシステムでの50回HIVpを計算する場合の• 現在(並列割引境界値を利用）「料金」と「時間」の見積もり

時間（時間）

321311279227

170200

400

600

800

51000

並列コア数(Hシステム）
総必要ノード時間/(68ノード)

現在の料金(万円）

必要料金（万円）

15• 520コア（24.5時間，10.0万円）• 328コア（21.1時間，10.7万円）• 264コア（20.0時間，10.9万円）• 136コア（18.3時間，11.2万円）• 16コア（17.1時間，11.7万円）など• 2019年4月1日以降• ほぼ一択• 264コア（20.0時間，5.4万円）• さらに早く計算したい場合は他のシステム(F,A,Dなど)を併用すべき• 例えば1/4のジョブをFシステムで240コアで流すと2.9万円程度かかり計算時間は約15.0時間となる• 合計は5.4*3/4+2.9=約7.0万円• 参考• 216コア（19.3時間，7.2万円）• 248コア（19.7時間，6.0万円）

新料金（万円）(H30.4.1以降)

Hシステム上のABINIT-MPの計算の実測に基づいた推定

21

3. 「タンパク質-小分子リガンド複合体」における手動フラグメント分割による効率化-HIVp（HIVプロテアーゼとlopinavirの複合体）の場合• ABINIT-MPにおいてAuto fragment を適用すると• タンパク質とDNAに関しては適切に働く• それ以外の物質が含まれている場合，その物質に関して分割せず1つのフラグメントとして扱う• これまでのここで示した計算では，HIVpに関してはAuto fragmentはせず手動分割していた．
• タンパク質に関しては自動分割の結果を用いてとlopinavirは4つに手動分割• 計算時間とコストは次のようになる（対象:HIVp,Hシステムの240コアで計算）
条件

結果

Autofragment

IFCD

時間（分）

料金（円）

新料金(円）OFF

YES

522180

1280

OFFNO

692900

1710

ONNO

840

35670

20980

22原子数が大きいリガンドを含む場合は手動分割した方がよい• リガンドの原子数や原子軌道数に注目
計算対象 リガンド

リガンドの原子数 原子軌道数

HIVpLopinovir

94原子786

ER

エストロゲン 44原子348（参考） アミノ酸残基 最大23原子大きいので手動分割が必要

最大213• IFCDはできれば使った方がいい．
• （今回の計算では基本的には使っている）• 計算の高速化手法の１つ• 手動分割の設定法は本日午後に解説します．
23

まとめ• FOCUSにおけるABINIT-MPのMPI並列ではHシステムがおすすめ• 1つの計算の計算時間にこだわるならコア数はできるだけ大きくして良い• 費用をできるだけ安くしたいなら• 今：520コア• H30.4.1以降 264コア• 大量のデータの計算• 今：520,328,264,136,16など（左はコスト重視，右は計算時間重視）• H30.4.1以降：264コア（時間をさらに短縮したいなら，他のシステムの併用を）• 「タンパク質-小分子リガンド複合体」の場合，原子数が大きい
リガンドに関してはmanual fragmentを実行した方がいい24