130 likes | 218 Views
Mid-Year Review Template March 2, 2010 Purdue University. Reactive Atomistics Metin Aktulga and Ananth Grama. Accomplishments. Purdue ReaxFF represents a unique capability – simulating reactive systems with 10 6 atoms and beyond, at high accuracies.
E N D
Accomplishments • Purdue ReaxFF represents a unique capability – simulating reactive systems with 106 atoms and beyond, at high accuracies. • The speed and scale of such simulations is well beyond competing implementations.
Accomplishments • V 2.0 of Serial ReaxFF Code Released • V 1.0 of Parallel ReaxFF Code Released • Initial third-party benchmarking (Goddard et al.) shows Purdue Reax is approx. 10 x faster than competing/ collaborating implementation • Initial third-party benchmarking shows parallel version to be stable and scalable to 1K cores.
Continuing Workplan • Benchmark scalability on larger configurations • Address known scalability bottlenecks (qEq solver) • Fully integrate into LAMMPS • Continue development of FFOpt
Purdue ReaxFF • Optimizations in every part of the code: • efficient generation of nbrs & intrs lists • completely dynamic memory management for all lists • fast computation of bond-related forces • computation of van der Waals & Coulomb interactions with cubic spline interpolations • efficient QEq solver: GMRES+ILU-based preconditioner
Purdue ReaxFF • Results: • Approximately 10 times faster than competing Reax code • 10-20 times smaller memory footprint and adaptive to resource and problem requirements
Purdue Reax Y. Park, H. Aktulga, A. Grama, A. Strachan “Strain relaxation in Si/Ge/Si nanoscale bars from MD simulations” J Appl Phys 106, 034304 (2009) J. Fogarty, H. Aktulga, A. van Duin, A. Grama, S. Pandit “A Reactive Simulation of the Silica-Water Interface”, J Comp Phys (2010) J. Fogarty, H. Aktulga, A. Grama, and S. Pandit Oxidative Damage in Lipid Bilayers: A Reactive Molecular Dynamics Study, Biophys. Soc. (2010)
Purdue Reax: Performance • Reference 6540 atom bulk water system • QEq tolerance = 10−6 (refactor every 100 steps) • QEq tolerance = 10−10 (refactor every 30 steps) tol=10−6tol=10−10 solver matvecs time matvecs time CG + diag. 31 0.18 95 0.54 GMRES+ diag. 18 0.11 81 0.49 CG/ilu(10−2) 9 0.06 18 0.13 GMRES /ilu(10−2) 6 0.04 15 0.11 • ILU-based preconditioners 3 x better performance! • QEq now takes as low as 6-7% of total time!
Purdue Parallel Reax • Inherits major part of the code from SerialReax • slower QEq solver: CG + diagonal preconditioner • larger memory footprint: conservative allocation + communication buffers • internal release: Feb 16, 2010 • will be used in PRISM metal-dielectric contact simulations
Purdue Parallel Reax Performance Bulk water system (6540 atoms): executable cores time per step QEq time per step SerialReax (icc -fast) 1 0.74 0.12 ParallelReax(icc -O3) 1 1.46 0.55 Bilayer system (56800 atoms): executable cores time per step QEq time per step SerialReax (icc -fast) 1 7.76 1.34 ParallelReax(icc -O3) 1 13.30 6.30 • Performance degrades mostly due to parallel QEq solver • Working with Dr Manguoglu on SPIKE-based QEq solver
Integration Efforts • Initial qEq integration into LAMMPS needs to be redone • Changes to LAMMPS interface • Changes to Purdue Reax • Integration of Purdue Reax 2.0 into LAMMPS