CabanaMD interface
Purpose
The CabanaMD interface adds the neural network potential method in a proxy application which uses the Cabana particle library. Cabana uses the Kokkos programming model to run on multi-core CPUs and GPUs; CabanaMD provides a simple MD code to explore performance with Cabana and Kokkos. The Cabana version of n2p2 reimplements a small part of the neural network potential to enable simulations on the GPU 1.
Build instructions
Go to the src
directory and compile with the CabanaMD interface enabled:
cd src
make libnnpif INTERFACES=CabanaMD
Alternatively, set the INTERFACES
variable in the master makefile
(src/makefile
) to CabanaMD
and just run in the src
directory:
make libnnpif
For dynamic linking add the argument MODE=shared
.
Note
If dynamic linking (make libnnpif MODE=shared
) is used, you need to make the NNP
libraries visibile in your system, e.g. add this line in your .bashrc
:
export LD_LIBRARY_PATH=<path-to-n2p2>/lib:${LD_LIBRARY_PATH}
This completes the necessary steps on the n2p2 side, further instructions on how to build CabandaMD together with this interface are provided here.
Usage
See here for building and running CabanaMD after building n2p2 (with the CabanaMD interface).
- 1
Desai, S.; Reeve, S. T.; Belak, J. F. Implementing a Neural Network Interatomic Model with Performance Portability for Emerging Exascale Architectures. arXiv:2002.00054 [cond-mat, physics:physics] 2020