Skip to content

msu-sparta/PuReMD

Repository files navigation

pipeline status

Introduction | Documentation | Wiki

Introduction

This repository contains the development version of the PuReMD Reactive Molecular Dynamics (PuReMD) project. PuReMD is an open-source highly performant range-limited atomic-level molecular dynamics code which implements the reactive force field (ReaxFF) method coupled with a global atomic charge model. Supported charge models include charge equilibration, electronegativity equilization, and atom-condensed Kohn-Sham approximated to second order.

Build Instructions

User

To build, the following versions of software are required:

  • GNU make
  • C compiler with support for the c11 standard or newer and optionally OpenMP v4.0+ (shared-memory code)
  • C++ compiler with support for the c++14 standard or newer (CUDA, MPI+CUDA versions)
  • Message Passing Interface (MPI) v2+ compliant implementation (MPI, MPI+X versions)
  • CUDA v6.0+ (CUDA, MPI+CUDA versions)
  • RocM v5.0+ (HIP, MPI+HIP versions)
  • zlib v1.2.x or newer
# Download latest release tarball
tar -xvf puremd-1.0.tar.gz
cd puremd-1.0
./configure
make

By default, the shared memory version with OpenMP support will be built. For other build targets, run ./configure --help and consult the documentation. An example of building the MPI+CUDA version is given below.

./configure --enable-openmp=no --enable-mpi-cuda=yes

Developer

To build, the following versions of software are required:

  • git
  • Autoconf v2.69 or newer
  • Automake v1.15 or newer
  • libtool v2.2 or newer
  • GNU make
  • C compiler with support for the c11 standard or newer and optionally OpenMP v4.0+ (shared-memory code)
  • C++ compiler with support for the c++14 standard or newer (CUDA, MPI+CUDA versions)
  • MPI v2+ compliant library (MPI, MPI+CUDA versions)
  • CUDA v6.0+ (CUDA, MPI+CUDA versions) -- Older CUDA versions (prior to v11.0) require downloading NVIDIA CUB manually (provided as a git submodule)
  • RocM v5.4+ (HIP, MPI+HIP versions)
  • zlib v1.2.x or newer

Instructions:

git clone https://github.com/msu-sparta/PuReMD.git
cd PuReMD
git submodule init
git submodule update
autoreconf -ivf
./configure
make

To build tarball releases after configuring a specific build target, run the following:

make dist

Selected Publications

Shared-Memory Versions:

Distributed-Memory Versions:

Applications and Integrations: