You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mindspore/model_zoo/research/hpc/sponge
mamba_ni 28811fa958
master sponge performance
4 years ago
..
src master sponge performance 4 years ago
README.md 0326 master sponge readme 4 years ago
main.py master sponge performance 4 years ago

README.md

SPONGE Example

Description

SPONGE in MindSpore is a high-performance and modularized molecular dynamics simulation library developed by Yiqin Gao group (Peking University and Shenzhen Bay Laboratory) and MindSpore team at Huawei Company. It can efficiently simulate traditional molecular dynamics tasks based on the “graph-kernel-fusion” and “automatic parallelization” features of MindSpore. In the meanwhile, it utilizes the automatic differentiation feature of MindSpore, and introduces machine learning methods, such as neural network, into traditional molecular simulation, achieving methodological inventions.

This example demonstrates how to perform high-performance molecular dynamics simulations with the built-in SPONGE module of MindSpore on GPU.

Dataset

There are three inputs for the example, property file NVT_290_10ns.in, topology file ala.parm7 and coordinates file ala_NVT_290_10ns.out, respectivelly.

ALA Aqueous System

Topology file and coordinates file can be generated by tleap in AmberTools (link). For more details, please refer to:

Environment Requirements

Quick Start

After installing MindSpore via the official website, you can start running as follows:

python main.py --i /path/NVT_290_10ns.in --amber_parm /path/ala.parm7 --c /path/ala_350_cool_290.rst7 \
               --o /path/ala_NVT_290_10ns.out

path is the path which stores input files.

Script Description

Script and Sample Code

├── sponge
    ├── README.md
    ├── main.py                                  # launch Simulation for SPONGE
    ├── src
        ├── bond.py                              # bond module in SPONGE
        ├── angle.py                             # angle module in SPONGE
        ├── dihedral.py                          # dihedral module in SPONGE
        ├── nb14.py                              # nb14 module in SPONGE
        ├── Langevin_Liujian_md.py               # Langevin_Liujian_md module in SPONGE
        ├── lennard_jones.py                     # lennard_jones module in SPONGE
        ├── md_information.py                    # save md information module in SPONGE
        ├── neighbor_list.py                     # neighbor_list module in SPONGE
        ├── particle_mesh_ewald.py               # particle_mesh_ewald module in SPONGE
        ├── simulation_initial.py                # SPONGE simulation

Training Process

python main.py --i ./NVT_290_10ns.in --amber_parm ala.parm7 --c ala_350_cool_290.rst7 --o ala_NVT_290_10ns.out

Training result will be stored in the specified file, which ends with ".out".

Result

After trainingthe results in ala_NVT_290_10ns.out are

_steps_ _TEMP_ _TOT_POT_ENE_ _BOND_ENE_ _ANGLE_ENE_ _DIHEDRAL_ENE_ _14LJ_ENE_ _14CF_ENE_ _LJ_ENE_ _CF_PME_ENE_
      1 293.105   -6117.709   1204.406       7.096          4.491      3.456     44.018 1372.488    -8753.664
   ...

There are sorts of energy in the output, steps (steps), temperature (TEMP), total energy (TOT_POT_E), bond energy (BOND_ENE), angle energy (ANGLE_ENE), dihedral energy (DIHEDRAL_ENE), non bond enrgy, includes Coulomb force (14CF_ENE) and Leonard-Jones energy (14LJ_ENE), Van der Waals energy (LJ_ENE) and Coulomb force in PME (CF_PME_ENE).

Model Description

Evaluation Performance

Parameters GPU
Resource GPU(Tesla V100 SXM2), Memory 16G
uploaded Date
MindSpore Version 1.2
Training Parameters step=1
Outputs numpy file
Speed 0.47 s/step
Total time 4.57 s
Scripts Link

ModelZoo HomePage

Please check the official homepage.