An open API service indexing awesome lists of open source software.

https://github.com/allisterb/onemd

Data-parallel molecular dynamics simulator for Intel oneAPI.
https://github.com/allisterb/onemd

cpp cpp17 devcloud dpcpp intel molecular-dynamics simulation

Last synced: 23 days ago
JSON representation

Data-parallel molecular dynamics simulator for Intel oneAPI.

Awesome Lists containing this project

README

          

# oneMD
oneMD is a molecular dynamics simulator designed to take advantage of SIMD and GPU and FPGA hardware data parallelism and acceleration. Unlike other molecular dynamics simulators like NAMD or omegagene which rely on hardware acceleration via OpenMP or CUDA, oneMD is a new simulator written in DPC++ designed especially to utilize diverse kinds of hardware acceleration across multiple architectures .

The molecular data and trajectories are saved in standard [PDB](https://pdb101.rcsb.org/learn/guide-to-understanding-pdb-data/introduction) and .xtc formats that can be viewed in programs like [VMD](https://www.ks.uiuc.edu/Research/vmd/).

## Requirements
oneMD is cross-platform and cross-arch can be built with any well-known C++ compiler including MSVC. If you are using it on your local machine you will need a oneAPI environment setup with the DPC++ compiler to build with GPU and FPGA acceleration. If you don't use a oneAPI environment then only OpenMP acceleration support will be built.
## Installation
* Clone the repo including all sub-modules:
````
git clone --recurse-submodules https://github.com/allisterb/oneMD.git
````
* Run `build.sh` on DevCloud or Linux, or `build` on Windows. This will place a `omd` executable in the project folder. Run
````
omd --help
````
from the project folder and you should see the oneMD help screen.
````
./omd --help
__ __ ___
___ _ _ ___ | \/ | \
/ _ \| ' \ / -_)| |\/| | |) |
\___/|_||_|\___||_| |_|___/

USAGE:

./omd [-l ] [--dt ] [--ts ] [--np ]
[--nd ] [--device ] [-1] [-0] [-d] [--]
[--version] [-h]

Where:

-l , --debug-level
Debug logging level. Default is 1.

--dt
Timestep delta in seconds for simulation. Default is 0.005.

--ts
Number of time steps for simulation. Default is 10000.

--np
Number of particles for simulation. Default is 100

--nd
Number of dimensions for simulation from 1-3. Default is 3.

--device
Name of hardware device to run simulation on. Can be host_cpu, cpu,
gpu, or fpga. Default is host_cpu. Alternatively use the bool flag
selectors e.g. -0 or -1.

-1, --cpu
Select the SYCL CPU device.

-0, --host-cpu
Select the host CPU device.

-d, --debug
Enable debug logging.
````