Abstract
Molecular simulations and molecular dynamics in particular are among the most performance-demanding computational methods. As the scale of simulations increases, the task of processing the simulation results becomes a computationally-hungry problem as well. The usual approach to build easy-to-use post-processing tools is based on providing an interface to a high-performance library called from a scripting language such as Python. We overview the advantages of using Julia programming language for building such tools, due to its easy surface syntax close to that of scripting languages and JIT compilation enabling high runtime performance. Then, we overview the package MDProcessing.jl written in Julia, regarding its customizability, abstractions for common processing workflows and performance characteristics.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Thompson, A.P., Aktulga, H.M., Berger, R., et al.: LAMMPS – a flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales. Comp. Phys. Comm. 271, 108171 (2022). https://doi.org/10.1016/j.cpc.2021.108171
Abraham, M.J., Murtola, T., Schulz, R., et al.: GROMACS: high performance molecular simulations through multi-level parallelism from laptops to supercomputers. SoftwareX 1, 19–25 (2015). https://doi.org/10.1016/j.softx.2015.06.001
Stukowski, A.: Visualization and analysis of atomistic simulation data with OVITO - the Open Visualization Tool. Modelling Simul. Mater. Sci. Eng. 18(1), 015012 (2009). https://doi.org/10.1088/0965-0393/18/1/015012
Larsen, A.H., Mortensen, J.J., Blomqvist, J., et al.: The atomic simulation environment - a Python library for working with atoms. J. Phys. Condens. Matter 29(27), 273002 (2017). https://doi.org/10.1088/1361-648X/aa680e
Michaud-Agrawal, N., Denning, E.J., Woolf, T.B., Beckstein, O.: MDAnalysis: a toolkit for the analysis of molecular dynamics simulations. J. Comput. Chem. 32(10), 2319–2327 (2011). https://doi.org/10.1002/jcc.21787
Gowers, R.J., et al.: MDAnalysis: a Python package for the rapid analysis of molecular dynamics simulations. In: Proceedings of the 15th Python in Science Conference. SciPy Austin, TX, vol. 98, p. 105 (2016). https://doi.org/10.25080/Majora-629e541a-00e
Humbert, M.T., Zhang, Y., Maginn, E.J.: PyLAT: Python LAMMPS analysis tools. J. Chem. Inf. Model. 59(4), 1301–1305 (2019). https://doi.org/10.1021/acs.jcim.9b00066
Humphrey, W., Dalke, A., Schulten, K.: VMD: visual molecular dynamics. J. Molec. Graphics 14(1), 33–38 (1996). https://doi.org/10.1016/0263-7855(96)00018-5
Bezanson, J., Edelman, A., Karpinski, S., Shah, V.B.: Julia: a fresh approach to numerical computing. SIAM Rev. 59(1), 65–98 (2017). https://doi.org/10.1137/141000671
MDProcessing.jl package. https://gitlab.com/pisarevvv/mdprocessing.jl
Intel MKL linear algebra backend for Julia. https://github.com/JuliaLinearAlgebra/MKL.jl
Byrne, S., Wilcox, L.C., Churavy, V.: MPI.jl: Julia bindings for the message passing interface. In: JuliaCon Proceedings, vol. 1, p. 68 (2021). https://doi.org/10.21105/jcon.00068, https://github.com/JuliaParallel/MPI.jl
Chen, J., Revels, J.: Robust benchmarking in noisy environments. arXiv e-prints arXiv:1608.04295 (2016)
Kostenetskiy, P.S., Chulkevich, R.A., Kozyrev, V.I.: HPC resources of the higher school of economics. J. Phys. Conf. Series 1740(1), 012050 (2021). https://doi.org/10.1088/1742-6596/1740/1/012050
Allen, M.P., Tildesley, D.J.: Computer Simulation of Liquids. Oxford University Press, Oxford (2017)
Acknowledgements
The article was prepared within the framework of the HSE University Basic Research Program. The research was supported in part through computational resources of HPC facilities at HSE University
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Pisarev, V., Panov, M. (2023). MDProcessing.jl: Julia Programming Language Application for Molecular Dynamics Trajectory Processing. In: Voevodin, V., Sobolev, S., Yakobovskiy, M., Shagaliev, R. (eds) Supercomputing. RuSCDays 2023. Lecture Notes in Computer Science, vol 14389. Springer, Cham. https://doi.org/10.1007/978-3-031-49435-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-031-49435-2_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-49434-5
Online ISBN: 978-3-031-49435-2
eBook Packages: Computer ScienceComputer Science (R0)