PLUMED is an open-source software package that is widely used for analyzing and enhancing molecular dynamics simulations that works in conjunction with most available molecular dynamics softwares. While the computational cost of PLUMED calculations is typically negligible compared to the molecular dynamics code's force evaluation, the software is increasingly being employed to determine complex descriptors that are more computationally demanding. For these applications performance optimization becomes critical. In this tutorial, we describe a recently implemented tool that can be used to reliably measure code performance. We then use this tool to generate detailed performance benchmarks that show how calculations of large-numbers of distances, angles or torsions can be optimized by using vector-based commands rather than individual scalar operations. We then present benchmarks that illustrate how to optimize calculations of atomic order parameters and secondary structure variables. Throughout the tutorial and in our implementations we endeavor to explain the algorithmic tricks that are being used to optimize the calculations. We hope this allows others to understand these prescriptions and deploy them in their own calculations.

Making PLUMED Fly: A Tutorial on Optimizing Performance / D. Rapetti, M. Bonomi, C. Camilloni, G. Bussi, G.A. Tribello. - In: JOURNAL OF PHYSICAL CHEMISTRY. B, CONDENSED MATTER, MATERIALS, SURFACES, INTERFACES & BIOPHYSICAL. - ISSN 1520-6106. - (2026). [Epub ahead of print] [10.1021/acs.jpcb.5c07562]

Making PLUMED Fly: A Tutorial on Optimizing Performance

M. Bonomi;C. Camilloni;
2026

Abstract

PLUMED is an open-source software package that is widely used for analyzing and enhancing molecular dynamics simulations that works in conjunction with most available molecular dynamics softwares. While the computational cost of PLUMED calculations is typically negligible compared to the molecular dynamics code's force evaluation, the software is increasingly being employed to determine complex descriptors that are more computationally demanding. For these applications performance optimization becomes critical. In this tutorial, we describe a recently implemented tool that can be used to reliably measure code performance. We then use this tool to generate detailed performance benchmarks that show how calculations of large-numbers of distances, angles or torsions can be optimized by using vector-based commands rather than individual scalar operations. We then present benchmarks that illustrate how to optimize calculations of atomic order parameters and secondary structure variables. Throughout the tutorial and in our implementations we endeavor to explain the algorithmic tricks that are being used to optimize the calculations. We hope this allows others to understand these prescriptions and deploy them in their own calculations.
Settore PHYS-06/A - Fisica per le scienze della vita, l'ambiente e i beni culturali
2026
24-feb-2026
Article (author)
File in questo prodotto:
File Dimensione Formato  
making-plumed-fly-a-tutorial-on-optimizing-performance.pdf

accesso aperto

Tipologia: Publisher's version/PDF
Licenza: Creative commons
Dimensione 5.69 MB
Formato Adobe PDF
5.69 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2434/1223784
Citazioni
  • ???jsp.display-item.citation.pmc??? 1
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
  • OpenAlex 0
social impact