randbatch-md / rbmd

GNU General Public License v3.0
8 stars 0 forks source link

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.

  2. 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)