Skip to content
Snippets Groups Projects
README.md 1.84 KiB
Newer Older
[![pipeline status](https://gitlab.com/ohearnk/PuReMD/badges/master/pipeline.svg)](https://gitlab.com/ohearnk/PuReMD/commits/master)

Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
[Introduction](https://gitlab.msu.edu/SParTA/PuReMD#introduction) |
[Documentation](https://gitlab.msu.edu/SParTA/PuReMD/doc) |
[Wiki](https://gitlab.msu.edu/SParTA/PuReMD/wikis/home)
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed

Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
# Introduction
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed

Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
This repository contains the development version of the
[Purdue Reactive Molecular Dynamics](https://www.cs.purdue.edu/puremd) (PuReMD) project.
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed

Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
# Build Instructions

## Developer

Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
To build, the following versions of software are required:

- git
- Autoconf v2.69+
- Automake v1.15+
- OpenMP v4.0+ compliant compiler (OpenMP versions only)
- MPI v2+ compliant library (MPI versions only)
- CUDA v6.0+ (CUDA versions only)

Instructions:
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
```bash
	git clone https://gitlab.msu.edu/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:

```bash
	make dist
```

## User

```bash
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
	# Download release tarball
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
	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.

```bash
	./configure --enable-openmp=no --enable-mpi-gpu=yes
```

# References

Shared Memory:
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
- [Serial](https://www.cs.purdue.edu/puremd/docs/80859.pdf)
- [CUDA (single GPU)](http://dx.doi.org/10.1016/j.jcp.2014.04.035)
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
- [Charge Method Optimizations with OpenMP](https://doi.org/10.1109/ScalA.2016.006)

Distributed Memory:
- [MPI (message passing interface)](https://www.cs.purdue.edu/puremd/docs/Parallel-Reactive-Molecular-Dynamics.pdf)
Kurt A. O'Hearn's avatar
Kurt A. O'Hearn committed
- [CUDA+MPI (multi-GPU)](https://www.cs.purdue.edu/puremd/docs/pgpuremd.pdf)