Skip to content

deepmodeling-activity/hackathon-test-cases

Repository files navigation

hackathon-test-cases

The AI4Science advanced software development track is co-sponsored by the DeepModeling open source community, the Peking University supercomputing team, and the Peking University Linux Club. This track urges participants to actively engage in the development of AI4S software. Students with an interest in high-performance computing can optimize designated software for enhanced performance, while those passionate about AI can re-design specific networks. Additionally, if you identify any other issues within the software that you'd like to improve, feel free to do so. In essence, as long as it pertains to AI4S, all software development endeavors are wholeheartedly encouraged here!

This repo contains test cases for neighborlist and long-range interaction algorithms. There are four categories of test cases:

  • Same_Size_Diff_Density: The periodic orthogonal box size is the same, but the density is different.
  • Same_Size_Same_Density: The periodic orthogonal box size and the density are the same. This test case it to examine parallelism performance.
  • Diff_Size_Same_Density: The periodic orthogonal box size is different, but the density is the same.
  • heterogeneous: The particles in the system are heterogeneous, such as shape of sphere, cylinder, etc.
  • triclinic: The periodic box is triclinic.

The participants should test there algorithms(either neighborlist or long-range interaction) on these test cases, both accuracy and performance are scored. The reference result is calculated by well-tested packages(ase for neighborlist and openmm for long-range interaction). The organizers will provide different architectures platform for developing, profiling and testing. Once the participants submit their algorithms, the scores will be calculated automatically by the framework which developed by the Peking University supercomputing team.

Pre-requirements

Compile packmol

To compile packmol for generated test case, please follow the instructions below:

tar -xvzf packmol-20.14.2.tar.gz
cd packmol
make

then a executable file named packmol will be generated. Adding the path of packmol to the environment variable PATH, or move packmol to path which is already in PATH.

Install OpenMM and ASE

Both packages can be install via conda envs. To install OpenMM for calculating long-range interaction, please follow the instructions below:

conda install -c conda-forge openmm ase

How to use

The model is generated by the packmol. In order to standardize the test cases, a python script named gen.py is provided. The parameters in the script can be modified freely to generate different scale test cases. The generated model is in the PDB format, but has no real meaning(which means atoms in model can only be seen as points with coordinates).

To get the reference answer, ASE is used to calculate the neighborlist. nbl_ref.py is provied to calculate the pair index of the models under each folder, which indicates which two atoms are neighbored. Two files in text format will be generated: *.cell is box matrix of the model, *.nbl is the pair index of the model.

To get the reference answer of PME calculation, OpenMM is used to calculate the long-range interaction. pme_ref.py is provided to calculate the long-range interaction of the models under each folder, and related parameters are listed in pme_ff.xml. Only one file in json format will be generated. The key of ans.json is model file name and the value is total energy of the model.

How to submit

A test framework(very similar to leetcode test env) is provided. Participants should extract a function with a required signature.

Learning materials

For neighborlist, the following materials are recommended:

  • Howard, Michael P., Joshua A. Anderson, Arash Nikoubashman, Sharon C. Glotzer, and Athanassios Z. Panagiotopoulos. “Efficient Neighbor List Calculation for Molecular Simulation of Colloidal Systems Using Graphics Processing Units.” Computer Physics Communications 203 (June 2016): 45–52. https://doi.org/10.1016/j.cpc.2016.02.003.

  • In ’T Veld, Pieter J., Steven J. Plimpton, and Gary S. Grest. “Accurate and Efficient Methods for Modeling Colloidal Mixtures in an Explicit Solvent Using Molecular Dynamics.” Computer Physics Communications 179, no. 5 (September 2008): 320–29. https://doi.org/10.1016/j.cpc.2008.03.005.

For long-range interaction, the following materials are recommended:

  • Deserno, Markus, and Christian Holm. “How to Mesh up Ewald Sums. I. A Theoretical and Numerical Comparison of Various Particle Mesh Routines.” The Journal of Chemical Physics 109, no. 18 (November 8, 1998): 7678–93. https://doi.org/10.1063/1.477414.

  • Deserno, Markus, and Christian Holm. “How to Mesh up Ewald Sums. II. An Accurate Error Estimate for the Particle–Particle–Particle-Mesh Algorithm.” The Journal of Chemical Physics 109, no. 18 (November 8, 1998): 7694–7701. https://doi.org/10.1063/1.477415.

About

3rd-dp-hackathon-nblist-pme-testcases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages