Skip to content

randbatch-md/rbmd

Repository files navigation

Table of Contents
  1. About The Project
  2. Installation
  3. Getting Started
  4. Usage
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

RBMD (Random Batch Molecular Dynamics) is a GPU-CPU heterogeneous accelerating molecular dynamics software baed on random batch series algorithms.

(back to top)

Installation

Prerequisites

On Linux

The third-party library vtk-m needs to be installed. First, clone the VTK-m from github on your_folder

git clone https://gitlab.kitware.com/vtk/vtk-m.git

Then switch to the branch: v1.9.0 (cat version.txt to check the version of vtkm for install)

git checkout -b 1.9.0 v1.9.0

Finally, compile VTK-m with cmake (CUDA support required) , CMake/3.20, GCC/9.0, and CUDA/11.0 have been confirmed to be necessary for compiling VTK-m. Furthermore, the compilation process is related to the GPU driver, and if deploying on a server, it needs to be compiled on the compute nodes.

cmake .. -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DVTKm_ENABLE_CUDA=ON -DVTKm_USE_64BIT_IDS=OFF -DVTKm_ENABLE_TESTING=OFF -DVTKm_ENABLE_RENDERING=OFF -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=your_folder/vtkm_out

And install in the vtkm-out

make -j$(nproc)
make install

For rbmd compilation,

  1. Install the source code on your_folder and switch to the dev branch
    git clone https://github.com/randbatch-md/rbmd.git
    git checkout dev
    
  2. cmake RBMD based on the same packages :CMake/3.22, GCC/9.3, and CUDA/11.8 in the build folder
    cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_LINKER=your_folder/rbmd/framework/tools/Linux/Release/jsoncpp/lib64
    
  3. compile the executable file rbmd and then rbmd is on the framework folder
    make -j$(nproc)
    

Remark

  1. If the step for make rbmd is wrong in the first time, the Linux folder needs to be deleted
rm -rf your_folder/rbmd/framework/tools/Linux

and complie again.

  1. If in the end of make, the error cannot find -ljsoncpp is occured, the environment variables needs to be specified in the ~/.bashrc
export LD_LIBRARY_PATH=your_folder/rbmd/framework/tools/Linux/Release/jsoncpp/lib64:$LD_LIBRARY_PATH
export LIBRARY_PATH=your_folder/rbmd/framework/tools/Linux/Release/jsoncpp/lib64:$LIBRARY_PATH

Docker Image

You can also pull the docker image and run docker dircetly

docker pull ghcr.io/randbatch-md/rbmd:1.0.0
docker run --rm --gpus all -it -v $PWD:/app rbmd  /bin/bash -c "rbmd -j rbmd.json"

(back to top)

Getting started

run the example json file rbmd.json in framework, then rbmd is executed

./rbmd -j rbmd.json

Usage

For more examples, please refer to the https://www.randbatch.com/guide/

(back to top)

(back to top)

Contributing

(back to top)

License

Distributed under the GPL-3.0 License. See LICENSE.txt for more information.

(back to top)

Contact

Weizhu scientific computing platform Link: https://github.com/randbatch-md

(back to top)

Acknowledgments

(back to top)

About

No description, website, or topics provided.

Resources

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6