GENESISの概要
岩橋ー小林 千草
理化学研究所 計算科学研究センター
2021/01/29 GENESIS講習会 −Cygnusを用いたハンズオン−
1

内容• 分子動力学法ソフトウェアGENESIS• GENESISの高速化、性能• GENESISでできること• 今日のハンズオンの簡単な説明

2分子動力学法(MD)シミュレーション
ニュートン方程式による計算

1.
2.

タンパク質（水溶液中）原子に働く力を計算
数値積分（時間発展）の繰り返しにより運動の解析が可能

1msの計算には5×1011回の繰り返しが必要
ボトルネックは力の計算

dri pi
dtmdpi Fi 力dtpri (t  t )  ri (t )  i tmpi (t  t )  pi (t )  Fi t

運動方程式

数値積分

長時間の原子・分子運動3Generalized Ensemble Simulation Systems(GENESIS)• 理化学研究所にて2010年から開発

Version 1.0: Jung, Mori, et al. WIREs Comput. Mol.
Sci. 5:310-323, (2015)
Version 1.1.x: Kobayashi, Jung, et al. J. Comput.
Chem. 38, 2193-2206 (2017)• スーパーコンピュータの性能を最大限に引き出すことを目的に独自の高速化、超並列手法• HPCIシステムの多くのスパコンにプリインストール(もしくは、近日中に公開)• フリーソフト(LPGLv3)として公開中
Please visit our website
https://www.r-ccs.riken.jp/labs/cbrt/“GENESIS riken”で検索してください！

4

ソフトウェアGENESIS• 2つのMDエンジンと30を超えるトラジェクトリ解析用ツールからなるアプリケーションスイート• 異なるアルゴリズムを持つ２つのMDエンジン
 超並列・高速化コードを持つspdyn (GPU利用はこちら)
 粗視化モデルやQM/MM計算も可能で、ユーザが比較的容易に機能を導入可能なatdyn• 言語はFortran90、一部がC言語• spdyn/atdyn共にMPIとOpenMPによるハイブリッド並列
5

GENESISの特徴

独自に開発された高速化・並列手法

レプリカ交換MD法(REMD)など

全原子・粗視化モデルによるマルチのサンプリング計算

レゾリューション手法
6

内容• 分子動力学法ソフトウェアGENESIS• GENESISの高速化、性能• GENESISでできること• 今日のハンズオンの簡単な説明

7

生体分子MDの力の計算
力の計算は結合性、非結合性相互作用により計算
Etotal  kb (b  b0 )2

Bond (ex. 1-2, 2-3, …)

 ka (  0 )2

Angle (ex. 1-2-3, 2-3-4,..)

bonds

12345

水素: 薄灰炭素: 濃灰酸素: 赤窒素: 青…

angles Vn [1  cos(n   )] Dihedral (ex. 1-2-3-4, …)結合性O(N)dihedrals

126 
rrqq
  0ij
0ijij2ij 
rrr
ij i , jbonding   ij  ij  van der Waals
Coulomb(ex. 1-5, …) :(ex. 1-5, …) :演算時間のボトルネックは非結合性相互作用計算

非結合性O(N2)8非結合性相互作用• ボトルネックとなる非結合相互作用をカットオフ長より近い部分と遠い部分に分け、遠い部分をフーリエ変換により逆空間で計算• 直接のペア計算はNのオーダーとなる
全ペアO(N2)

カットオフ長より近い部分
O(CN)+ 遠い部分126 
 r0ij  qi q j erfc( rij ) exp( k 2 / 4 2 )  r0ij 
FFT(Q(k ))  2
 f (r )  ij  2 rij   ijrrkijij rij  R &i, jbonding   k 0実空間, O(CN)
計算・メモリアクセス・１対１通信

逆空間, O(NlogN)
全体通信
9ドメイン分割:Midpoint cell method (1)𝒄Jung et al. J. Comput. Chem. 35, 1064 (2014)

1.
2.
3.

シミュレーション空間をMPIのプロセス数に応じてサブドメインに分ける
サブドメインを更に小さなセルに分ける
MPIコミュニケーションは隣接プロセスと境界のセルの部分について行う

利点•高い並列効率•

プロセス数が増えると演算、セルメモリ双方が減少
10

ドメイン分割:Midpoint cell method (2)Jung et al. J. Comput. Chem. 35, 1064 (2014)

相互作用計算1. 同じセル：セルを持つプロセスが計算
2. 異なるセル：セル間の中間セルを持つプロセスが計算
3. 中間セルが一意に決まらない時には、粒子数などから自動的に決定
4. それぞれのサブドメインの境界部分（灰色）のセルのデータの通信のみで計算可能

11GPUでの高速化(1)J. Jung et al. J. Chem. Theory Comput. 12, 4947 (2016)

計算を２つの部分に分け、CPUとGPUで分担演算が主な部分：GPU• 実空間部分 (ペアリスト)

それ以外：CPU• 逆空間部分(FFT)• 結合性相互作用
• I/O

12

Cygnusでの性能
10万原子でのベンチマーク (NVT)Dr. J. Jung

4 GPU 利用
高い並列性
一方で単体の計算ではGPUの性能を生かし切れていない部分もある

13内容• 分子動力学法ソフトウェアGENESIS• GENESISの高速化、性能• GENESISでできること• 今日のハンズオンの簡単な説明

14

GENESISでできること (MD編)
モデル・機能SPDYN

ATDYN

GPU利用

○ (全原子モデルのみ)

×CHARMM, AMBER

全原子モデル
粗視化モデルMARTINIMARTINI, C-Go, all-atom GO

QM/MM×○gREST/REMD/string method
Free-energy Perturbation○×○

Cryo-EM fitting○r-RESPA○×

計算精度

混合精度、倍精度

倍精度

より詳しい説明はGENESISのマニュアルをご覧ください (download site)

15

GENESISでできること (解析編)
トラジェクトリ解析用ツール(CPUマシンで利用可)の一部
解析ツールのほとんどはデスクトップ、ラップトップでも利用可能•Distance/angle/dihedral angles計算 : trj_analysis•RMSD計算: rmsd_analysis•

PCA計算: avecrd_analysis, flccrd_analysis, eigmat_analysis, prjcrd_analysis(avecrd_analysis, flccrd_analysisでRMSF計算も）•自由エネルギー解析: mbar_analysis, wham_analysis, pmf_analysis …

•

拡散計算: msd_analysis, diffusion_analysis•

膜分子の計算: lipidthink_analysis, tilt_analysis…

16

GENESISの使い方
チュートリアル、サンプルインプットを用意(バージョンに合わせて更新)

レベル別 (Level1-3)

必要な計算環境https://www.r-ccs.riken.jp/labs/cbrt/tutorials2019/• PDBからの入力ファイルの作成• シミュレーションから解析ツールまで一連の計算の流れを確認できます17

GENESIS計算の例 #1
レプリカ交換MD法によるサンプリング

Sugita & Okamoto, Chem. Phys. Lett. 314, 141–151 (1999),
Sugita et al., J. Chem. Phys. 113(15), 6042–6051 (2000).

Time
Replica 4T4Replica 3

T3Replica 2T2

Replica 1

T1

RejectAcceptAcceptT1-4 : 物理パラメータ（温度等）

異なる物理パラメータを持つ複数のレプリカ（=シミュレーションシステムのコピー）を同時に計算することでより効率の良いサンプリング計算を達成

18

GENESIS計算の例 #2
Free-energy perturbation によるタンパク質-リガンド結合エネルギー計算
https://www.r-ccs.riken.jp/labs/cbrt/tutorials2019/genesis-tutorial-15-1/

Kim et al. J. Chem. Theory Comput., 16, 7207-7218 (2020).

19

GENESIS計算の例 #3
Cryo-EM flexible fitting using a simulated map
https://www.r-ccs.riken.jp/labs/cbrt/tutorials2019/tutorial-17-1/
T. Mori et al., Structure, 27, 161-174.e3 (2019).
O. Miyashita et al., J. Comput. Chem., 38, 1447-1461 (2017).

初期構造 (シアン)と fit後の構造 (ピンク) の比較
20

内容• 分子動力学法ソフトウェアGENESIS• GENESISの高速化、性能• GENESISでできること• 今日のハンズオンの簡単な説明

21

今日のハンズオン
1. GPUでの高速化• GENESIS, spdynが持つ高速計算方法を使い、GPU計算を高速化する方法を学びます
2. レプリカ交換MD(REMD)計算• GENESISの特徴であるREMD計算をGPUで行います22ここまでのまとめ• GENESISは
 スーパーコンピュータの性能を最大限に引き出すことを目的に独自の高速化、超並列手法を持つフリーソフト
 ２つのMDエンジンと30を超える解析ツールを持つアプリケーションスイート
 利用方法、サンプルは公式サイトに用意• 今日はGENESISのGPU計算を高速化する方法についてハンズオンを行います
23

謝辞
•

GENESIS開発
開発プロジェクトリーダー: 杉田 有治 博士 (理化学研究所）
開発者: （順不同、特に1.5.x、1.6.x）
Jaewoon Jung 博士 (理化学研究所）
八木 清博士 (理化学研究所）
森 貴治 博士 (理化学研究所）
尾嶋 拓
博士 (理化学研究所）
伊東 真吾 博士 (理化学研究所）
神谷 基司
松永 康佑
松岳 大輔
優乙石博士
博士
博士
博士

(理化学研究所、現・分子科学研究所）(理化学研究所、現・埼玉大学）(理化学研究所、現・RIST）(理化学研究所、現・前橋工科大学）
24