THE GLOTZER GROUP
HOOMD-blue -
Scalable Molecular Dynamics and Monte Carlo
Joshua Anderson and Jens Glaser
Glotzer Group, Chemical Engineering, University of Michigan Blue Waters Symposium, Sun River, OR 05/12/2015
HOOMD-blue - Scalable Molecular Dynamics and Monte Carlo Joshua - - PowerPoint PPT Presentation
HOOMD-blue - Scalable Molecular Dynamics and Monte Carlo Joshua Anderson and Jens Glaser Glotzer Group, Chemical Engineering, University of Michigan Blue Waters Symposium, Sun River, OR 05/12/2015 T HE G LOTZER G ROUP Scaling on OLCF Cray
THE GLOTZER GROUP
Joshua Anderson and Jens Glaser
Glotzer Group, Chemical Engineering, University of Michigan Blue Waters Symposium, Sun River, OR 05/12/2015
THE GLOTZER GROUP
% %%
Figure 4 – Example of colloidal scale nucleation and growth of a crystal from a fluid of hard octahedra.
%
THE GLOTZER GROUP
Beltran-Villegas et al. Soft Matter 2014
⎤
Long, A.W. and Ferguson, A.L.
Marson, R. L. et al. Nano Lett. 2014 Trefz, B. et al. PNAS 2014 Nguyen et al. Phys Rev. Lett. 2014 Knorowski, C. and Travesset, A. JACS 2014 Mahynsk, A. Nat. Comm. 2014 Glaser et al. Macromolecules 2014
>100 peer-reviewed publications using HOOMD-blue as of May 2015 http://codeblue.umich.edu/hoomd-blue/publications.html
A B C
THE GLOTZER GROUP
ð Þ
H 64 S1 16 S1 32 S1 64 S1 128 S2 16 S2 32 S2 64 S3 16 S3 32 S3 64
e 1 N ODT
102 103 104 10 15 20 25 30
N
100 200 500 1000 2000 5000 10000 10 15 20 25 30
N
eN ODT
FH SCFT
AB Diblock copolymer melt
Glaser, J., Medapuram, P., Beardsley,
PRL, 113, 068302 (2014) Medapuram P., Glaser J., Morse D. C. Macromolecules 2015, 48, 819-839.
THE GLOTZER GROUP
domains under periodic boundary conditions
computation
particles every time step
rcut rbuff
THE GLOTZER GROUP
CPU CPU GPU GPU
4-12 cores
THE GLOTZER GROUP
GPU=K20X
■ ■ ■ ■ ◆ ◆ ◆ ◆
▼ ▼ ▼ ▼ ▲ ▲ ▲ ▲
◆ ◆ ◆ ◆
2 4 8 16 20 50 100 200 μ s
▼
Migrate
▲
Ghost exchange
◆
Ghost update
■ Force ◆ Communication
THE GLOTZER GROUP
Pair NVT
pack
Comm Comm
Thermo unpack
Pair
Collective
MPI GPU
50 μs
Profile of 1 MD time step communication computation overlap pack/unpack on GPU auto-tune kernel
THE GLOTZER GROUP
32,000 particles/GPU
■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ LAMMPS-GPU 11Nov13
Trung Nguyen
THE GLOTZER GROUP
■ ■ ■ ■ ■ ■ ■ ■ ■
■ LAMMPS-GPU 11Nov13
Trung Nguyen
THE GLOTZER GROUP
80% efficiency at 250,000 ptls/GPU
THE GLOTZER GROUP
Jaime Millan
CPU N=430,080
THE GLOTZER GROUP
InfiniBand GPU
GPU Memory
CPU
Chip set
System Memory
Pak Lui, Filippo Spiga, Rong Shi
THE GLOTZER GROUP
THE GLOTZER GROUP
Glaser J., Nguyen T.D., Anderson J.A. et al. Strong scaling of general-purpose molecular dynamics simulations on GPUs.
doi:10.1016/j.cpc.2015.02.028.
THE GLOTZER GROUP
Molecular dynamics
Tethered nanospheres Langevin dynamics
Marson, R, Nano Letters 14, 4, 2014
Surfactant coated surfaces Dissipative particle dynamics
Pons-Siepermann, I. C., Soft matter 6 3919 (2012)
Self-propelled colloids Non-equilibrium MD
Nguyen N., Phys Rev E 86 1, 2012
Truncated Tetrahedra Hard particle MC
Damasceno, P. F. et al., ACS Nano 6, 609 (2012)
Arbitrary polyhedra Hard particle MC
Damasceno, P. F. et al., Science 337, 453 (2012)
Interacting nanoplates Hard particle MC with interactions Hard disks - hexatic Hard particle MC
Engel M. et al., PRE 87, 042134 (2013) Ye X. et al., Nature Chemistry cover article (2013)
Monte Carlo
Quasicrystal growth Molecular Dynamics
Engel M. et al., Nature Materials (in press)
THE GLOTZER GROUP
THE GLOTZER GROUP
Hard particle Monte Carlo
HOOMD-blue
multiple nodes (CPUs or GPUs)
H
β-Mn cP20 (A13) #P04
[100]
Damasceno et al., Science (2012) Engel M. et al., PRE 87, 042134 (2013) Damasceno, P. F. et al., ACS Nano 6, 609 (2012) Damasceno et al., Science (2012)
THE GLOTZER GROUP
Easy and flexible to use
from hoomd_script import * from hoomd_plugins import hpmc init.read_xml(filename=‘init.xml’) mc = hpmc.integrate.convex_polygon(seed=10, d=0.25, a=0.3); mc.shape_param.set('A', vertices=[(-0.5, -0.5), (0.5, -0.5), (0.5, 0.5), (-0.5, 0.5)]); run(10e3)
THE GLOTZER GROUP
Overlap checks
single for expensive overlap check
Separating axis XenoCollide 1001.842 - 1000.967 = 0.875
∆~ r
THE GLOTZER GROUP
Divergence
(a) (b) Time (0.5 ms total) Thread
Initialization Trial move Circumsphere check Overlap check Overlap divergence Early exit divergence
THE GLOTZER GROUP
Strong scaling - squares
GPU: Tesla K20X, CPU: Xeon E5-2680 (XSEDE Stampede)
106 107 108 109
Trial moves per second
1 2 4 8 16 32 64 128 256 512 1024 2048 4096
P - GPUs/CPU cores 29x
N=1,048,576 N=65,536 N=4,096 80% efficiency 50% efficiency GPU GPU GPU CPU CPU CPU
THE GLOTZER GROUP
Weak scaling - truncated octahedra (3D)
GPU: Tesla K20X on Cray XK7, CPU: AMD bulldozer on Cray XE6
5 6 7 8
Trials moves / N / sec
8 27 64 125 216 343 512 1000
Nodes XK7 XE6
THE GLOTZER GROUP
Questions?
Funding / Resources
Sharon Glotzer
supported by National Science Foundation grant number OCI-1053575.
the National Science Foundation (award number ACI 1238993) and the state of Illinois. Blue Waters is a joint effort of the University of Illinois at Urbana-Champaign and its National Center for Supercomputing Applications.
National Laboratory, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725.
HOOMD-blue: http://codeblue.umich.edu/hoomd-blue Monte Carlo code not yet publicly available.