7th Symposium	

学際大規模情報基盤共同利用・共同研究拠点 公募型共同研究 平成２７年度採択課題	

jh150015-NA11	

安藤 嘉倫 (名古屋大学工学研究科附属計算科学連携教育センター)

分子動力学計算ソフトウェアMODYLASのメニーコアアーキテクチャ対応	
並列化に関する研究		
研究背景
研究目的
分子動力学 (MD) 計算・化学,	   物理,	   生物,	   およびウィルス学といった様々な学問分野において実験とならぶ解析ツールとして広く普及	  	  ・工業分野においても,	   分子の特性を活かしたナノ機能性材料や高分子材料を設計するツールとして普及しつつある.	  	

「京」コンピュータおよびFX10上で稼働実績のある汎用分子動力学計算ソフトウェアMODYLAS[1]に対して以下を行う.	  
・次世代のメニーコア計算機	  (FX100	  および	  Xeon-­‐Phi)	  の性能を発揮させるためのOpenMP並列/SIMD並列チューニング	  	  ・Tofu2への最適化	  長距離静電相互作用の計算を含めた大規模かつ長時間なMD計算を行うことにより,学問上のブレークスルーが期待できるだけでなく,	  より高精度高効率な材料設計が可能になる.	

本課題をステップとして将来エクサスケールマシンと	  MODYLAS	  を用いることによって数億から10億原子系での実用的なMD計算を可能にする.	

分子動力学(MD)計算

MD計算研究の対象
d 2 rimi 2 = Fidt

Fi (t + !t)

力場関数

U tot =+Δt	2b20bonds

ri (t + !t)!

t	  =	  t	  +	  Δt	

高速多重極展開法(FMM)

その10!

impropers

メタンハイドレート融解過程のMD計算[3].	  
25万原子系,	  100	  ns.	
Exchange	  rate	  of	  water:	  8±2	  ns-­‐1	

厳密・高速に計算	

M2L	

do	  m1=1,(nmax+1)*(nmax+1)	  do	  m2=1,(nmax+1)*(nmax+1)	  wl1(m1)=wl1(m1)+m2l(m2,m1)*wm1(m2)	  enddo	  enddo	

点電荷	「京」コンピューターを使ったポリオウィルスの	  MD	  計算[2].	  
カプシドタンパク質,	  イオン,	  水,	  合計650万原子系,	  200	  ns.	  	

L2L	
展開中心	

nmax:	  展開次数	多極子展開	

将来の計算対象候補：燃料電池ナフィオン高分子膜の全原子MD計算	

点電荷	

局所展開	

allocate(	  wm0((nmax+1)*(nmax+1)),2,2	  )	スレッド並列の事前評価

allocate(	  wl0((nmax+1)*(nmax+1)),2,2	  )	M2M	  :	  多極子展開中心の移動,	  足し合わせ	  M2L 	  :	  局所展開係数の計算	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  L2L 	  :	  局所展開中心の移動,	  足し合わせ	  	Hot	  spot	 その2	  FX10	  oakleaf	

・計算量 O(N)	  ・全対全通信なし	

・粒子間直接計算について1サブセル内の粒子数が少ない(粒度<50)ため16コア並列でスレッド間ロードインバランスが顕在化

MPI/OpenMP ハイブリッド並列化

座標データ転送済範囲	

M2L	 nchunk	
プロセス境界	  (赤)	  サブセル境界	  (シアン)	

thread2	

thread3	

thread5	

・合計 8n 個のサブセル	
・プロセス数 2m	
各プロセスへ 23n-m 個のサブセルを均等割り当て	thread7	

thread2	

thread1	

thread0	

thread4	
thread6	

thread7	

thread0	

icell	
myrank	
M2L対象セルを	  nchunk	  ごと各スレッドへサイクリックに割り当て	M2L対象多極子データ転送済範囲	

!$omp parallel!$omp do schedule(static,nchunk)
do load=1,nload
icx=lddir(1,load); icy=lddir(2,load)
do icell(myrank)
if(icx,icyが近接2セル以遠の領域にあれば)
do m1=1,(nmax+1)2 ; do m2=1,(nmax+1)2
wl_local=wl_local+m2l*wm_local
enddo ; enddo
endif
enddo
enddo
!$omp end do!$omp end parallel

・粒子間直接計算は180スレッドまでスケール

・上位階層のM2Lにおいて粒度の枯渇が顕著になりFMMの性能低下

関数ごとの実行時間	約10％の差に縮小,	  	  	  かつ25%の性能向上	  粒度	  <50	60	  120	  180	  240	  スレッド数	

energy_direct	  1	   2	   3	   4	   5	   6	   7	   8	   9	   10	   11	   12	   13	   14	   15	   16	  スレッド番号	

オリジナルコード	  粒度	  ~1200	  (階層依存)	

icell_line	
myrank	

OpenMP	

jcell_line	z

改良方法	

Xeon	  Phi	5110P	  	  60コア/1MIC	

as	  is	  コード測定	

約30％の差	OpenMP	tag(jcell)オリジナル	

「京」での8スレッド並列に最適化	

SIMD	
粒度	  <5*50	

tag(jcell+4)+na_per_cell(jcell+4)!$omp parallel
do jcell_line
do icell(myrank)[along icell_line]!$omp dodo iatom=tag(icell),tag(icell)+na_per_cell(icell)-1
do jatom=tag(jcell),tag(jcell+4)+na_per_cell(jcell+4)-1
ポテンシャル,	  力の計算
enddo
enddo
!$omp end do
enddo
enddo
!$omp end parallel

SIMD	
粒度	  (nmax+1)2	

近接粒子間直接計算	
周期境界条件下	立方体基本セル	

ナフィオン
分子	

実行時間	

Hot	  spot	

2多極子(M)	 局所展開係数(L)	
多極子Ewald法	  complex	  	  wm0,wm1,	  	  	  wl0,wl1	
+	
allocate(	  wl1((nmax+1)*(nmax+1)),1,1	  )	allocate(	  wm1((nmax+1)*(nmax+1)),1,1	  )	展開中心	

" K (! ! ! )6,)# &12#&Rij
Rij . qi q j++ " "ij %% (( ! 2 %% (( ++$ rij '$ rij ' .- rij
nonbonds*2 F(t)ベルレ法:	 r(t + !t) = 2r(t) ! r(t ! !t) + !tm

近接粒子間直接計算	

0ub+ " K" [1+ cos(n" ! # )] +M2M	

ubanglesdihedralst	  =	  t	02

Z	改良したコード	  240スレッド	0	  Y	
Xdo	 iatom	 ループを1サブセル内から複数サブセル内の粒子に拡張し粒度を増加	

energy_fmm	  実行時間	

ri (t)" K (b ! b ) + " K (! ! ! ) + " K (s ! s )FLOPS	Fi (t)

www.modylas.org

50	  100	  150	  スレッド番号	200	  energy_direct	  energy_fmm2	  A	  energy_fmm2	  B	  energy_fmm2	  C	  energy_fmm3	  A	  energy_fmm3	  B	  今後,	  更なる精査の上ループ構造変更を実施するなどして性能向上を図る	

研究計画

研究体制

1年目：基礎評価とメニーコア対応コード作成
第一期（４月~６月） 	  スレッド並列の事前評価	  	  FX10	  (16コア),	  Xeon	  Phi	  第二期（７月~９月） 	  スレッド並列の事前評価	  	  FX100	  (32コア),	  およびコード改良	  第三期（１０~１２月） 	  コード評価と高度化	  I	  FX10,	  Xeon	  Phi	  第四期（１月~３月） 	  コード評価と高度化	  II	  	  FX100,	  Xeon	  Phi	  2年目：SIMD対応 (最適化) コード作成と最終性能評価 [予定]
自動性能チューニング技術によるチューニングパラメータ最適化も並行して実施	  名古屋大学	  安藤嘉倫	  (代表),	  荻野正雄(副代表),	  	  	  岡崎進,	  篠田渉,	  吉井範行,	  藤本和士,	  遠藤裕太	  東京大学 	  片桐孝洋,	  大島聡史	  理研AICS 	  小村幸浩,	  鈴木惣一朗	

参考文献	  	  [1]	  Y.Andoh,	  N.	  Yoshii,	  et	  al.,	  J.	  Chem.	  Theory	  Comput.,	  9,	  3201	  (2013).	  [2]	  Y.	  Andoh,	  N.	  Yoshii,	  et	  al.,	  J.	  Chem.	  
Phys.,	  141,	  165101	  (2014).	  [3]	  T.	  Yagasaki,	  M.	  Matsumoto,	  et	  al.,	  J.	  Phys.	  Chem.	  B,	  118,	  1900	  (2014);	  118,	  11797	  (2014).	  	

250	  学際大規模情報基盤共同利用・共同研究拠点 第７回シンポジウム	
2015年 7月 9日，10日 	

THE	  GRAND	  HALL	  （品川）