GPUスパコンを活用した高分子系の大規模／大容量MD計算の事例紹介
hp220114 MD計算による結晶性高分子の伸張結晶化挙動解明と物性制御予測
hp220113 水中Tetra-PEGゲルの負のエネルギー弾性と粘弾性の分子論的解明
jh220038 GPU並列計算による高分子材料系シミュレーションの高速化技法の検討

防衛大 萩田2022.9.13火曜日 1535-1555
第3回スーパーコンピュータ「不老」ユーザ会

1

高分子物理・材料でのGPU活用• ＜昨年＞ この1年程度で、GPUを活用できる研究環境が、すごく整った。
• ＜今年＞ 系統的なプロダクトランで、多くの成果創出に繋がった。
– 高分子物理系のTop Journalでの多数の出版。

(In press)

2

高分子物理・材料でのGPU活用• ハード環境– V100やA100の、高性能なマルチGPU環境– RTX 3090などの、高性能なゲームGPUの普及
H100やRTX 4090の新GPU性能は、大いに期待。

• ソフト環境 ＜オープンソースのソフトウェア＞– “Single”-GPUの性能向上（単精度＋GPU内計算）• マルチGPUでも性能が出るようになった。（検討余地あり）
SingleDPD UAMD/マルチ ばね
GPU性能 GPU ビーズ
全原子ReaxFF

Gromacs◎◎ーー◎

ー

HOOMD-blue◎△？

◎◎△ーLAMMPS

△○○○△

◎

3

＜余談＞Cover Art作りでのGPU活用• Cover Art作りでも、GPUを活用していきたい。
– Cover Artでは、レンダリング負荷の大きい「光」の計算が、好まれる傾向。
– Blenderの例
Fogなし環境
レンダリング： Eevee

Fog中のスポットライト
レンダリング： Eevee

Fog中のスポットライト
レンダリング： Cycles (GPU)4＜余談＞絵作りでのGPU活用• 2015年頃、HPCI課題で、高精細レンダリング– 8K画像、動画の作成。
– Pov-rayで、光の計算を強化した条件。（高負荷）• GPUスパコンを活かした、高精細レンダリングの動画作り（絵作り）にも、再び挑戦したい所。

5

本日の事例紹介トピック• 大容量計算– 多数のパラメータ条件のrunを、Single-GPU計算で効率よく計算する。
– HooMD-blue や Gromacsの事例
プロダクトラン → 成果創出のサイクル• 大規模計算– マルチノード・マルチGPU利用のMassive並列計算。
– GromacsやLAMMPSの事例。
最先端大規模計算で、新たに物理量が合理的に予測できるようになることは、次世代MI基盤として重要

6

大容量計算のノウハウ• （昔） 実行制御用のmpicxxプログラムを作成。
• （今） Pythonのsubprocess-futures.concurrentによる大量タスクの並列実行制御。
from concurrent import futures
import time
import sys
import os
import subprocess
num_tasks=8
num_workers=8
def exec_func(index):
print('index: %s started.' % index)
shcmd=’./run-‘+str(index)+’.sh’
process = subprocess.run(shcmd, stdout=subprocess.PIPE,shell=True)
print('index: %s ended.' % index)
future_list = []with futures.ThreadPoolExecutor(max_workers=num_workers) as executor:
for i in range(num_tasks):
future = executor.submit(fn=exec_func, index=i)future_list.append(future)_ = futures.as_completed(fs=future_list)
print('completed.')7

大容量計算のノウハウ• バッチスクリプトとサブスクリプトの構成– HooMDのGPU単体利用: KG粗視化MDやDPD#!/bin/sh#PJM
module load XXXX

python3 run-sub-gpus.py

from concurrent import futures
import subprocess#!/bin/sh

num_tasks=4
num_workers=4

source activate venv-hoomdAng
export CUDA_VISIBLE_DEVICES=$1
python3 ./hoomd-singleGPU.py

def exec_func(index):
if index == 0:
shcmd = “cd ./00; ./run-hoomd.sh 0“
if index == 1:
shcmd = “cd ./01; ./run-hoomd.sh 1“
if index == 2:
shcmd = “cd ./02; ./run-hoomd.sh 2“
if index == 3:
shcmd = “cd ./03; ./run-hoomd.sh 3“process = subprocess.run(shcmd, stdout=subprocess.PIPE,shell=True)

future_list = []with futures.ThreadPoolExecutor(max_workers=num_workers) as executor:
for i in range(num_tasks):
future = executor.submit(fn=exec_func, index=i)future_list.append(future)_ = futures.as_completed(fs=future_list)
print('completed.')8

大容量計算のノウハウ• バッチスクリプトとサブスクリプトの構成– GromacsのGPU単体利用: 全原子MD（クーロン力）#!/bin/sh#PJM
module load XXXX

python3 run-sub-gpus.py

from concurrent import futures
import subprocess
num_tasks=4
num_workers=4

def exec_func(index):
if index == 0:
shcmd = “cd ./00; ./run-gmx.sh 0“
if index == 1:#!/bin/shexport OMP_NUM_THREADS=6
shcmd = “cd ./01; ./run-gmx.sh 1“export CUDA_VISIBLE_DEVICES=$1
if index == 2:
INGRO=GMX.gro
shcmd = “cd ./02; ./run-gmx.sh 2“
INTOP=GMX.top
ifindex== 3:
GFILE=GMX-1.gro
shcmd = “cd ./03; ./run-gmx.sh 3“CFILE=GMX-1.cpt
process = subprocess.run(shcmd, stdout=subprocess.PIPE,shell=True)
if [ -e $CFILE ]thenif [ ! -e $GFILE ]future_list = []thenwith futures.ThreadPoolExecutor(max_workers=num_workers) as executor:
gmx mdrun -v -deffnm GMX-1 -bonded gpu -nb gpu -pme gpu -ntmpi 1 -cpi $CFILE
for i in range(num_tasks):fi
future = executor.submit(fn=exec_func, index=i)else
future_list.append(future)
if [ ! -e $GFILE ]then
gmx grompp -f GMX.mdp -o GMX-1.tpr
GMX-0.gro -r $INGRO -p $INTOP -maxwarn 4_ = -cfutures.as_completed(fs=future_list)
gmx mdrun -v -deffnm GMX-1 -bonded gpu -nb gpu -pme gpu -ntmpi 1
fi
print('completed.')fi

9

大容量計算のノウハウ• 実行時に、nvidia-smiで監視しておきたい場合。
from concurrent import futures
import subprocess
num_tasks=5
num_workers=5
def exec_func(index):
if index == 0:
shcmd = “cd ./00; ./run-gmx.sh 0“
if index == 1:
shcmd = “cd ./01; ./run-gmx.sh 1“
if index == 2:
shcmd = “cd ./02; ./run-gmx.sh 2“
if index == 3:
shcmd = “cd ./03; ./run-gmx.sh 3“
if index == 4:
shcmd = “for ((i=0;i<10;i++));do sleep 600; nvidia-smi; done > log“
process = subprocess.run(shcmd, stdout=subprocess.PIPE,shell=True)
future_list = []with futures.ThreadPoolExecutor(max_workers=num_workers) as executor:
for i in range(num_tasks):
future = executor.submit(fn=exec_func, index=i)future_list.append(future)_ = futures.as_completed(fs=future_list)
print('completed.')10

Kremer-Grest粗視化MDの成果• 環状鎖と線状鎖が混合した系の一連の計算• 貫通状態の静的構造の統計的性質•••••+=K. Hagita, T. Murashima, Effect of Chain-Penetration on Ring
Shape for Mixtures of Rings and Linear Polymers. Polymer 2021
218, 123493.
K. Hagita, T. Murashima, Multi-Ring Configurations andPenetration of Linear Chains into Rings on Bonded Ring Systems
and Polycatenanes in Linear Chain Matrices. Polymer 2021 223,123705.
K. Hagita, T. Murashima, Molecular Dynamics Simulations of Ring
Shapes on a Ring Fraction in Ring–Linear Polymer Blends.
Macromolecules 2021 54, 8043.
K. Hagita, et al., Efficient compressed database of equilibrated
configurations of ring-linear polymer blends for MD simulations.
Sci. Data 2022 9, 40.
K. Hagita, T. Murashima, H. Shiba, N. Iwaoka, T. Kawakatsu, Roleof chain crossing prohibition on chain penetration in ring-linear
blends through dissipative particle dynamics simulations. Comput.
Mat. Sci. 2022 203, 111104.

11

Kremer-Grest粗視化MDの成果• 環状鎖を含む系の特異なレオロジー挙動•••

T. Murashima, K. Hagita, T. Kawakatsu, Viscosity Overshoot in
Biaxial Elongational Flow: Coarse-Grained Molecular Dynamics
Simulation of Ring-Linear Polymer Mixtures. Macromolecules
2021 54, 7210.
K. Hagita, T. Murashima, N. Sakata, Mathematical Classification
and Rheological Properties of Ring Catenane Structures.
Macromolecules 2022 55, 166.
T. Murashima, K. Hagita, T. Kawakatsu, Topological transition in
multicyclic chains with structural symmetry inducing stressovershoot phenomena in multicyclic/linear blends under biaxial
elongational flow. Macromolecules, under review.

12Kremer-Grest粗視化MDの成果• 環状鎖を充填した架橋ネットワークの補強

•
•
•
•
•

K. Hagita, T. Murashima, Effect of chain-penetration on ring shapefor mixtures of rings and linear polymers. Polymer 2021 218, 123493.
K. Hagita, T. Murashima, H. Jinnai, Demonstration of reinforcementin polymer composite with rings penetrating the diamond-lattice
network. Polymer 2022 243, 124637.
K. Hagita, T. Murashima, M. Ebe, T. Isono, T. Satoh, Trapping
probabilities of multiple rings in end-linked gels. Polymer 2022 245,124683.
K. Hagita, T. Murashima, Multi-Ring Configurations and Penetrationof Linear Chains into Rings on Bonded Ring Systems andPolycatenanes in Linear Chain Matrices. SoftMatter 2022 18, 894.
K. Hagita, T. Murashima, T. Ohkuma, H. Jinnai, Ring-Filling Effect onStress-Strain Curves of Randomly End-Linked Tetra-ArmPrepolymers. Macromolecules 2022 218, 123493.

13

DPD計算の成果• ブロックコポリマーの相分離構造• 分子トポロジーの効果(In press)•K. Hagita, T. Murashima, T. Kawakasu, Lamellar Domain Spacing ofSymmetric Linear, Ring, and Four-Arm-Star Block Copolymer
Blends. Macromolecules 2022, in press.
10.1021/acs.macromol.2c00500

14

大規模計算でのGPU活用• 大規模計算では、スケールするアルゴリズムであることがポイント。
• MD計算の場合– スケーラビリティ阻害要因： クーロン力の計算• 高分子材料のMDでは、場合分けされる。
– クーロン力が重要な計算• 現実系のクーロン力すら、評価できない雑な問題もある。

– クーロン力が重要ではない計算

こちらは、高いスケーラビリティが期待できる。

15大規模計算でのGPU活用• クーロン力がなくても、良さそうな系。
ポリエチレン（-CH2-）の系• 高精度な物性再現ができる力場が開発されている。 TraPPE-UA力場– MD計算の手始めとして、「自発的構造形成」を確かめる研究が、多くなされた。（今もある。）– 力場の比較 K. Hagita, et al, AIP Adv. 2018, 8, 115108.

16あるプロセスを再現する定量的評価• ポリエチレンの CH2 を、United-AtomとしたMD– 力場は、TraPPE-UA力場。

C1000• 多数本を、周期境界条件の箱に入れ、緩和。
• 事前延伸（preEL=100%等）して、静置計算。

100%延伸長時間待てば、結晶化した構造が得られる。

17あるプロセスを再現する定量的評価• シミュレーションの流れ

ほっておく。（溶かす）

ほっておく。（結晶化）
一軸延伸18あるプロセスを再現する定量的評価• システムサイズは、大きくしたい。
• 静置して長時間待つ必要がある。
（5μ秒くらいは計算したい。）→ スパコン （多数のGPUやCPU）
1600万原子の例

19

結晶化度の高い領域 （3Dクラスター）
4000ns

preEL
100%

preEL
400%

平均Trans
セグメント長n_tran = 8.213

n_trans=9.398120nm• T=340K

厚さ
3 nm

60nm

20

一軸延伸／SSカーブ評価• 歪記憶による強化（応力値の増大）を示す結果。
Stresszz [MPa]T=340Kdλ/dt=0.01 [1/ns] = 107 [1/s]ポアソン比 0.5
(アプトプットに向けて)
Elongation ratio ε対応するモデル実験系での検証が望ましい21

変形後の再結晶化によるPEの強化• 先行事例– 一軸圧縮やロール延伸による結晶性高分子の強化（彦坂先生）– 歪記憶によるPEの強化（アクチュエータ研究分野）• Kanik, et al. Science 365, 145-150 (2019)• Yuan, et al. Science 365, 155-158 (2019)• Yoshizawa, et al. Sensors and Actuators A 323,112634 (2021)• MD計算と比較に適したモデル実験系→ 「一軸延伸で、歪記憶を与えたPEの系」

東京農工大 斎藤、東大 阿部らによる実験（散乱＋力学）
T. Maruyama, E. Abe, H. Saito, Polymer, 236 (2021) 124343.

22

UAMD計算と実験との比較
WAXS (広角散乱実験)・・・ 良く一致している。

SAXS (小角散乱実験)
・・・ 定性的に一致している。

23

詳しいメカニズムを探りたい• 応力鎖– σzzを短時刻平均

24

詳しいメカニズムを探りたい• アモルファス層が、力学に寄与する様子は？
→ von Mises 応力値で色付け。

25

詳しいメカニズムを探りたい

結晶－非結晶の表示

von Mises応力表示

26まとめ• たくさんのGPU（V100, A100）を使うことで、たくさん研究出版ができています。 感謝感謝
• No GPU, No research-Life！Too.
• 困っていること。

– Cuda-aware MPIが、難しい。
– アプリの利用に関しての情報が少なく、若い人（大学院生）がフラットには使いにくい。
• Gromacs、LAMMPSのGPU利用くらいは、サンプルスクリプトなどがあった方が良いのでは？
– あと、（各センターでの）moduleのloadの依存関係の情報入手も、難しくなりつつある。 Ex. Gromacs使うのには、何が必要？？
» HPCIスパコンが性能良く使えるよう環境整備する事務局マター？

27

時間があれば、、、、• 結晶性高分子材料の検討（計算＆実験）では、伸長結晶化（＋それによる自己補強）が、ホットな話題である。
HPCIで、名大スパコン「不老」活用(hp210134,hp220114)
ポリプロピレン(iPP)複合材料
富岳課題 2022B期 (+2021A期+2020A期)(hp220215)ポリイソプレン(PI)※対象サイズが大きいので、GPUではちょっと難しく、富岳が必要！