SCLS計算機システム講習会
2013/3/27
理化学研究所
HPCI計算生命科学推進プログラム木戸 善之

1京のハードウェア構成

システム全体
計算ラック×800以上

計算ラック群
計算ラック

計算ラック×8
ディスクラック×2

システムボード×24
IOシステムボード×6

ノード
CPU×1
ICC×1
メモリ×8

1京回/秒＝10ペタフロップス
1PB以上

システムボード
ノード×4
98.4兆回/秒
12TB
12.3兆回/秒
1.5TB

演算性能：1280億回/秒
メモリ容量：16GB

5120億回/秒
64GB

80,000個以上のCPU間を相互に接続する
インターコネクト2

世界のスパコン計算性能ランキング（TOP500, Nov. 2012）
順位
12
3
45

システム名称速さ

設置場所／ベンダー

国名

オークリッジ国立研究所／Cray

米国

17.6

ローレンス・リバモア国立研究所
／IBM

米国

16.3

京

理研AICS／富士通

日本

10.5

Mira

アルゴンヌ国立研究所／IBM

米国

8.2

JUQUEEN

ユーリヒ総合研究機構／IBMドイツ4.1Titan(AMD Opteron +NVIDIA K20x)

Sequoia(BG/Q PowerBQC)(SPARC64 VIIIfx)(BG/Q PowerBQC)(BG/Q PowerBQC)（PFLOPS）

3

Jun, 1993
Nov, 1993
Jun, 1994
Nov, 1994
Jun, 1995
Dec, 1995
Jun, 1996
Nov, 1996
Jun, 1997
Nov, 1997
Jun, 1998
Nov, 1998
Jun, 1999
Nov, 1999
Jun, 2000
Nov, 2000
Jun, 2001
Nov, 2001
Jun, 2002
Nov, 2002
Jun, 2003
Nov, 2003
Jun, 2004
Nov, 2004
Jun, 2005
Nov, 2005
Jun, 2006
Nov, 2006
Jun, 2007
Nov, 2007
Jun, 2008
Nov, 2008
Jun, 2009
Nov, 2009
Jun, 2010
Nov, 2010
Jun, 2011
Nov, 2011
Jun, 2012
Nov, 2012

Top500 Nov. 2012
京, 理化学研究所/富士通

10PFlop/s

1PFlop/s

10GFlop/s

地球シミュレータ,
JAMSTEC/NEC

100TFlop/s

CP-PACS, 筑波大/日立

10TFlop/s

100GFlop/s

1GFlop/s

Core2Quad, 51.2GFLOPS（理論性能値）

100MFlop/s

4

数値風洞, NAL（現JAXA）/富士通
#1

#500

1TFlop/s

*

仕様
CPU

システム全体京コン
ピュータ

SCLS計算機システム

神戸 picomputer

東大
Oakleaf-FX

名前

SPARC64
VIIIfxSPARC64
IXfx

SPARC64
IXfx

SPARC64
IXfx

理論性能128 GFLOPS(2GHz)

211.0
GFLOPS(1.65GHz)

211.0
GFLOPS(1.65GHz)

238.6
GFLOPS(1.84GHz)

コア数8161616

ノード数88,12848964,800

理論性能

11.28
PFLOPS10.1 TFLOPS

20.2 TFLOPS

1.13 PFLOPS

メモリ

16GB(1.5PB)

32GB(1.5TB)

32GB(3.0TB)

32 GB(150TB)

5取り組んでいる５つの戦略分野予測する生命科学・ 医療および創薬基盤

予測医療と革新的創薬

血栓成長による血管閉塞シミュレーション

薬候補のタンパク質への結合シミュレーション

新物質・エネルギー創成

物質と宇宙の起源と構造

世界に先駆けた次世代デバイスを提唱

大質量星の超新星爆発の解明

原子レベ
ルで精密計算超新星爆発の３次元シミュレーション

省エネ・高速動作

次世代ナノスケールデバイス「超高性能」、「超低消費電力」

爆発時の密度分布

K computer system (CG)

次世代ものづくり

防災・減災に資する地球変動予測

設計プロセスの革新

集中豪雨や地震の予測

オリジナル形状

集中豪雨の再現実験

新潟県中越地震による強い揺れの広がり

最適化形状

車体後部周りの超精緻解析
による最適形状の究明低空気抵抗、低揺動車の開発

6

7

戦略分野１ 活動と目的
I.

HPC計算機資源の効率的活用
 HPCIを最大限活用するために、最新のHPC研究を進め、もってHPCの高度化推進を行う。
II. 人材育成ｒ 大学、企業等の研究者、学生を対象に計算生命科学の理解増進を図り、人材を育成していく。
III. 人的ネットワークの形成 計算生命科学のコミュニティを形成し、連携を図る。
IV. 研究成果の普及ｒ アウトリーチ活動を行う。研究成果の実用化をめざす。
V. 分野を超えた取組の推進 計算科学研究機構、他分野との連携を促進する。

戦略分野１で検索！

＠HPCI_Senryaku1
8

戦略分野１で検索！

いいねボタンを押して下さい！
9

京と京互換機
京京互換機（SCLS計算機システム）

10

SCLS計算機システム概要

11

仕様
CPU

システム全体京コン
ピュータ

SCLS計算機システム

神戸 picomputer

東大
Oakleaf-FX

名前SPARC64
VIIIfxSPARC64
IXfx

SPARC64
IXfx

SPARC64
IXfx

理論性能

128 GFLOPS(2GHz)

211.0
GFLOPS(1.65GHz)

211.0
GFLOPS(1.65GHz)

238.6
GFLOPS(1.84GHz)

コア数

8161616

ノード数

88,128

4896

4,800

理論性能

11.28
PFLOPS10.1 TFLOPS

20.2 TFLOPS

1.13 PFLOPS

メモリ

16GB(1.5PB)

32GB(1.5TB)

32GB(3.0TB)

32 GB(150TB)

12簡単なコンパイル、ジョブの投入の実演
ライブラリやインストールアプリの紹介
2013/3/27
理化学研究所
HPCI計算生命科学推進プログラム
木戸 善之

ユーザから見たSCLS計算機システム
ユーザクライアント

SINETにつながったサイト（大学・研究所）からアクセス

インターネット

VPN接続でログイン

ログインノード
基本的にログインノードで操作

ログインノードから計算ノードへジョブ投入

計算ノード
14

Tofu (Torus Fusion)
インターコネクト• ノード間（CPU間）の通信技術• アーキテクチャ– 6次元メッシュ／トーラストポロジ• 3次元メッシュの12ノードを1Tofu• Tofu単位を3次元トーラストポロジで接続– バンド幅:5GB/s

1Tofu
1ノード
３次元メッシュトポロジ

• 特徴– 高並列を実現するスケーラビリティ• 最大約10万ノード規模（98,304=32x32x8x2x3x2）– 高い可用性• 任意にメッシュ分割しても常に３次元トーラスト
ポロジを構成• 故障ノードを回避してトーラストポロジを構成

３次元トーラストポロジ

15

FX10ジョブコマンド（SCLS）• pjsub : ジョブの投入– バッチジョブ• pjsub go.sh– ステップ実行• pjsub --step16

ジョブスクリプト• 京との違い– ステージングがない#!/bin/sh#------ pjsub option --------##PJM –L “rscgrp=small”#PJM -L "node=12"#PJM --mpi “proc=24”#PJM -L “elapse=10:00”#PJM -j#------- Program execution -------#
export OMP_NUM_THREADS=8
mpiexec ./a.out

リソースグループ指定
ノード数指定 (1 次元 )プロセス数の指定
経過時間指定スレッド数指定アプリの実行• ジョブの実行[y-kido@scls water]$ pjsub go.sh[INFO] PJM 0000 pjsub Job 2875 submitted.
[y-kido@scls water]$17

インタラクティブジョブ（vanilla）• 対話型ジョブ実行– 計算ノードのコンソール– pjsub --interact[username@scls:~]$ pjsub --interact
ジョブ投入[INFO] PJM 0000 pjsub Job 12345 submitted.
ジョブ投入完了[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 12345 started.
ジョブ開始[username@a01-001 ~]$ frt hello_world.f95[username@a01-001 ~]$ ./a.out
Hello world[username@a01-001 ~]$ exit
ジョブ終了
exit
[INFO] PJM 0083 pjsub Interactive job 12345 completed.
[username@scls:~]$ ログインノード復帰
18

インタラクティブジョブ（MPI）• 対話型ジョブ実行– pjsub --interact -L "node=1" --mpi "proc=16"[username@scls:~]$ pjsub --interact -L "node=1" --mpi "proc=16"[INFO] PJM 0000 pjsub Job 12346 submitted.
ジョブ投入完了[INFO] PJM 0081 .connected.
[INFO] PJM 0082 pjsub Interactive job 12346 started.
ジョブ開始[username@a01-001 ~]$ mpifrt hello_world_mpi.f95[username@a01-001 ~]$ mpiexec ./a.out
Hello world from rank 0 process(snip)
Hello world from rank 15 process[username@a01-001 ~]$ exit
ジョブ終了
exit
[INFO] PJM 0083 pjsub Interactive job 12346 completed.
[username@scls:~]$
ログインノード復帰
19

FX10コンパイラ（富士通）
非MPI

MPI

並列言語

クロスコン
パイラ

オウンコン 自動並列パイラ

OpenMPFortran

frtpx

frt-Kopenmp

C

fccpx

fcc

C++

FCCpx

FCC

Fortranmpifrtpx

mpifrtC

mpifccpx

mpifccC++

mpiFCCpx

mpiFCC

XPFortran

xpfrtpx

xpfrt-Kparallel

覚えておくと良いオプション
オプション

概要

-Kfast

高速に実行するオブジェクトを生成するオプション-Kparallel

自動並列-Kvisimpact-Kfast,parallelと等価

20

FX10コンパイラ（gcc）
非MPI

言語

クロスコンパイラ

オウンコンパイラ

Fortrangfortranpx

gfortran

C

gccpx

gcc

C++

g++px

g++

21

じゃあちょっとHello, Worldでも#include <stdio.h>
int main() {printf("Hello, SCLS!¥n");return 1;}

22

MPIを使ったHello, World#include <stdio.h>#include <string.h>#include <mpi.h>
int main(int argc, char *argv[]) {int rank, size;
char message[20];MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);if (rank == 0) {strcpy(message, "Hello, SCLS");
int i = 1;
for ( i = 1; i < size; i++) {MPI_Send(message, strlen(message) + 1, MPI_CHAR, i, 99, MPI_COMM_WORLD);}
printf("rank[%d] send: message¥n", rank);} else {MPI_Recv(message, 20, MPI_CHAR, 0, 99, MPI_COMM_WORLD, &status);printf("rank[%d] received: %s¥n", rank, message);}
MPI_Finalize();
return 1;}

23

OpenMPを使ったHello, World#include <stdio.h>#include <string.h>#include "omp.h"
int main(int argc, char *argv[]) {int threads, tid;#pragma omp parallel private(threads, tid){
tid = omp_get_thread_num();
printf("Hello, SCLS thread = %d¥n", tid);
if ( tid == 0 ) {threads = omp_get_num_threads();
printf("Number of threads = %d¥n", threads);
}
}}

24

ライブラリ一覧ライブラリ

概要

BLAS/LAPACK/ScaLAPACK

数学ライブラリ（富士通コンパイラ）

SSL II

数学ライブラリ

FFTW

離散フーリエ変換ライブラリ

Boost C++

C++汎用ライブラリ

HDF5

Hierarchical Data Format 5
自己記述型データフォーマットのアクセサ

NetCDF

配列志向型データフォーマットのアクセサ

SQLiteデータベース管理システム
25

SQLiteなどライブラリを使ったソースのコンパイル[username@scls:~]$ module list
Currently Loaded Modulefiles:1) TCSuite/GM-1.2.1-03[username@scls:~]$ module load SQLite[username@scls:~]$ module list
Currently Loaded Modulefiles:1) TCSuite/GM-1.2.1-03 2) SQLite/3.7.15.2[username@scls:~]$[username@scls:~]$ fccpx –Kfast sample.c –lsqlite3

26

インストールする予定のアプリ
ISLiMのWeb

http://www.csrp.riken.jp
ただし今後変更の可能性あります27

ISLiM開発アプリのWeb

28

SCLS計算機システム 導入予定のアプリ

グランドチャレンジライフでの「京」アプリのリスト

29

30

31

ISLiM 分子スケールアプリケーション
量子化学 QM

林重彦（京大）

ProteinDF

中村春木（阪大）

佐藤文俊
（東大）

高精度
反応

全原子分子動力学 MMMarble

池口満徳
（横市大）

マルチスケール
Platypus

杉田有治
（理研）
木寺詔紀
（理研）

高効率
運動

ISLiM Webサイト
http://www.csrp.riken.jp

粗視化モデルCafeMolCG
高田彰二
（京大）

量子化学 QM

32

ProteinDF
密度汎関数法に基づくタンパク質
全電子波動関数計算• 開発責任者– 東京大学生産技術研究所教授 佐藤文俊
• 概要
– 複雑かつ大規模・高精度が要求されるタンパク質の全電子を密度汎関数法に基づきカノニカル軌道で計算する。
– 励起状態も含めた第一原理分子動力学計算が可能。
• 離散化（計算モデル化）の方法– 分子軌道法• 計算方法– 直接法による密行列の対角化• 並列化の方法– 原子分割法、RT アルゴリズム＋シェルタイプ分類均等分割法。
• 開発言語とライブラリ– C++, MPI, OpenMP, ScaLAPACK• コードの公開状況– バイナリコードを無償で利用可能。
– http://www.ciss.iis.u-tokyo.ac.jp/dl/• 現状での計算規模– 306 残基、27,000 軌道、基底状態計算（世界最大）– Altix3700（64 CPU）で実行、300 GFlops– メモリ容量 256 GB、ディスク容量 1 TB

インスリン6量体静電ポテンシャルの古典計算との差• 次世代機「京」での計算規模- ほぼ全てのタンパク質に対応するため計算規模を3倍に- 基底状態だけでなく、励起状態のダイナイミクスを解析- メモリ容量 2PB 、ディスク容量 10 PB（励起状態）• どんなことができるか- 創薬の信頼性の高い基礎研究のみならず、医薬品開発の高品位化および高効率化、ならびに次世代の医薬品研究開発モデルの創成といった応用に貢献できる。
- 方法特許やビジネスモデル特許などを含め欧米に対する優位性を実現できる。
- 触媒、分子素子、環境物質などへの応用も大いに期待できる。

QM/MMPlatypus-QM/MM
量子化学計算／分子動力学連成計算• 開発責任者– 大阪大学蛋白質研究所教授 中村春木
• 概要
– 電子状態の効果を分子動力学に取り込むことで酵素反応機構などの生体高分子の精密解析を行う。
• 離散化（計算モデル化）の方法– 分子軌道法、分子動力学法• 計算方法– 直接法による密行列対角化、反復法による疎行列連立方程式求解、改良Wolf等• 並列化の方法– 領域分割（分子軌道法）、原子分割（MD）
ピラミダリティの反応座標依存性の量子古典連成計算• 開発言語とライブラリ– FORTRAN77, Fortran90, C, MPI, OpenMP, ScaLAPACK, LAPACK• 次世代機「京」での計算規模• コードの公開状況- 数100-数1000電子系と、それを取り巻く数– 未公開
10万古典原子による反応自由エネルギー• 現状での計算規模
地形を64万コアで解析– プロリン及びN-metylacetamide（量子系）の水溶液中（水分子は古- 基底状態だけでなく、励起状態のダイナイ典粒子）における異性化熱力学過程の解明
ミクスを解析
– 20000原子を蛋白研PCクラスタ256コアで解析- メモリ容量 1.6GB/コア 、ディスク容量数– メモリ容量 300Mbyte/コア、ディスク容量 3GBGPB• どんなことができるか- 生命活動に重要な酵素反応機構や、その反応を制御する薬物などの開発に有用な知見を得ることができる。

33

34

QM/MMPlatypus-QM/MM-FE

ハイブリッド QM/MM 反応自由エネルギー計算• 開発責任者– 京都大学大学院理学研究科准教授 林重彦• 概要– 量子化学的手法（QM）と分子力場法（MM）のハイブリッド である
QM/MM 法により、生体分子内の反応基質分子の自由エネルギー最適構造の決定及び反応性解析を行う。
• 離散化（計算モデル化）の方法– 分子軌道法、分子力場法• 計算方法– Reweighting法（自由エネルギー）、 Ewald 法（クーロン）。
• 並列化の方法– MM 構造サンプル分割• 開発言語とライブラリ– FORTRAN77, GAMESS の socks ライブラリ• コードの公開状況– ソースコードを無償で利用可能。要相談。
• 現状での計算規模– a-amylase 酵素における polysaccharide（二量体部分）の自由エネルギー構造最適化。
– 7万原子系、QM 原子数 69、基底関数 650、MM 構造サンプル数
140,000– PC128 コア、メモリ容量 256 GB、ディスク容量 50 GB

a-amylase 酵素中のpolysaccharide 基質の加水分解反応遷移状態• 次世代機「京」での計算規模- 多剤排出トランスポーター- 約50万原子、MM構造サンプル数
100 万- メモリ容量 4 TB、ディスク容量 4 TB
• どんなことができるか- 酵素反応における基質の反応性解析が行える。
- 生体エネルギー変換で最も重要であるプロトン濃度勾配を用いた分子機能が明らかになる。

MMMARBLE
全原子分子動力学計算• 開発責任者– 横浜市立大学大学院総合理学研究科准教授 池口満徳
• 概要
– タンパク質や核酸など生体分子の立体構造で、水素まで含んだ全原子モデルを解く。
• 離散化（計算モデル化）の方法– 古典分子動力学• 計算方法– FFTを用いたParticle Mesh Ewald法– シンプレクティック数値積分法• 並列化の方法– 空間分割，スレッド並列はループ分割
多剤排出トランスポーターAcrB• 開発言語とライブラリ– C, MPI, OpenMP• 次世代機「京」での計算規模• コードの公開状況– 多剤排出トランスポーター（約50万原子）– 「京」においてバイナリを無償で利用可能– 反復回数109回以上• 現状での計算規模– メモリ容量 16 GB/node、ディスク容量 10 TB– 10万-100万原子系• どんなことができるか– Cray XE6で3000コア並列- 膜タンパク質が大規模な構造変化を行う様子をシミュ– メモリ容量 4 GB/node、ディスク容量 1 TBレートすることができる。
– 薬剤耐性菌の原因因子である多剤排出トランスポー
ターのシミュレーションを行うことにより、菌が異物を排出する際の分子機構を明らかにする。

35

Platypus-MM/CG

MM/CG

マルチコピー・マルチスケール分子シミュレーション法開発の基盤となるクラスライ
全原子モデル計算を用いて粗視化空間にブラリおける最適パスを探索• 開発責任者
closed– 理化学研究所分子スケール研究開発チーム
チームリーダー 木寺詔紀
• 概要
– タンパク質や核酸、薬剤など生体分子を計算対象とする。反応の時open間スケールが遅い（ミリ秒～秒）ために、通常のMDでは追跡が困難
粗視化空間な、生体分子同士の相互作用やこれに伴う立体構造変化過程の再現を目的とする。
• 離散化（計算モデル化）の方法– マルチコピー・マルチスケール連成分子動力学法• 計算方法– レプリカ交換法、MSES法、ストリング法、粒子フィルタ法• 並列化の方法– コピー間並列（MPI並列）、ループ分割（MPI・スレッド並列）• 開発言語とライブラリ– C++, MPI, OpenMP, LAPACK, FFTW, NetCDF• コードの公開状況：– バイナリコードを無償で利用可能• 現状での計算規模
図. ストリング法の概念図(上)とタンパクへの応用例(下)– アデニル酸キナーゼ立体構造変化パスウェイ探索– 1,600万原子系（6万原子系×256コピー）– RICC 8192コア、メモリ容量 52 GB、ディスク容量 10 TB • どんなことができるか– 薬剤などの生理活性物質がタンパク質など生体高分子• 次世代機「京」での計算規模に結合する過程を再現できるようになる– 多剤排出トランスポーター(AcrB)– 1億2,800万原子系 (50万原子系×256コピー)– 薬剤の結合やタンパク質同士の結合に伴う立体構造変– 65,536コア（256コア/コピー）使用化を予測できるようになる– メモリ容量 416 GB、ディスク容量 1 PB
– 結合過程や立体構造変化過程の解析から、活性の高い物質の創出やタンパク質の機能改変につながる手掛かりが得られる。

36

CG

37

CafeMol
粗視化分子モデル計算• 開発責任者– 京都大学理学研究科准教授 高田彰二
• 概要
– 粗視化分子モデル計算により大規模生体分子の長時間シミュレーションを行う。
• 離散化（計算モデル化）の方法– 粗視化された分子モデルによる古典分子動力学法
トランスポーター（左）とDNAヒストン複合系（右）• 計算方法– Langevin方程式の時間発展を数値的に積分する。
• 次世代機「京」での計算規模• 並列化の方法– 10万粒子（100万原子）系の秒相当のシミュレーション– Neighbor list方式、レプリカ交換法– 反復回数1010回以上• 開発言語とライブラリ– メモリ容量 ２ GB/コア、ディスク容量 1 PB
• どんなことができるか– Fortran90, MPI, OpenMP– X線回折やNMRによる構造情報が存在するタンパク質、• コードの公開状況
核酸などの動態の分子動力学シミュレーション。とくに構– http://www.cafemol.org からダウンロード可。
造変化を伴うタンパク質ドッキング、分子モーターやトランスポーターの大規模構造変化などをシミュレーション• 現状での計算規模できる。
– １万残基タンパク質のミリ秒相当のシミュレーションが可能– 例として、キネシンの動態、多剤排出トランスポーターの– PCクラスタで8192コア並列
動態、DNAヒストン複合系（ヌクレオソーム）など。
– メモリ容量 ２ GB/コア、ディスク容量 1 TB

CafeMolの利用• /home/islim/cafemol/cafemol2_sclsのディレク
トリをホームにコピー• $ cp –fr /home/islim/cafemol/cafemol2_scls ~• タンパク質sh3のシミュレーション– pjsub sh3.sh• 130塩基対のDNAのシミュレーション– pjsub dna.sh38

シミュレーション結果の動画作成• cafemol2_scls/utility/cafe_move_making.shを参照• 動画作成にはPyMolとMplayerが必要– 一般的なLinuxで動作可能– http://www.pymol.org/– http://www.mplayerhq.hu/

39

３．SCLS計算機システム サポートの事例｢京｣創薬支援アプリ(ISLiM ソフトウェア)講習会• 東京会場: 理研 東京連絡事務所 (内幸町）– 2/7(木)• ＃１: 13:00-15:00 REIN-K（Platpus-）• ＃２: 15:00-17:00 CafeMol– 3/8 (金)• ＃３: 13:00-15:00 MARBLE-K• ＃４: 15:00-17:00 mu2lib-K•

大阪会場:都市活力研究所 (梅田)– 2/20 (水)• ＃５: 13:00-15:00 mu2lib-K• ＃６: 15:00-17:00 MARBLE-K– 3/12(火)• ＃７: 13:00-15:00 REIN-K• ＃８: 15:00-17:00 CafeMol∗ 案内URL∗ http://www.biogrid.jp/pdf/insilicoseminar6.pdf∗ ダウンロードサイト∗ http://www.islim.org/islim-dl_j.html

40