Abstract
Speed and efficiency of codes for atomistic simulations can be improved through refactoring and tailoring for GPU architectures. This activity, however, comes with associated, often overlooked, costs, namely a reduced readability and flexibility upon optimization and a non-negligible development time. The first element becomes particularly cogent when who carries out the code GPU porting task is not the creator of the algorithm. In this manuscript we investigate these issues by developing and comparing a CUDA (Compute Unified Device Architecture) and an OpenACC version of the MaZe simulative engine, a recently proposed tool for first principles molecular dynamics with interactions computed at the Orbital Free Density Functional level. We developed in approximately the same amount of time the two code bases. Given that this code bears several computational bottlenecks, and given the development time restraints, we ultimately found that OpenACC leads to a code that is not only simpler to maintain, but also faster, as in the OpenACC code base more routines were optimized compared to CUDA.
| Original language | English |
|---|---|
| Pages (from-to) | 502-518 |
| Number of pages | 17 |
| Journal | International Journal of High Performance Computing Applications |
| Volume | 39 |
| Issue number | 4 |
| Early online date | 18 Apr 2025 |
| DOIs | |
| Publication status | Published - Jul 2025 |
Austrian Fields of Science 2012
- 102022 Software development
- 103043 Computational physics
- 102031 Theoretical computer science
Keywords
- code maintanability
- CUDA
- GPU
- Mass-zero constrained dynamics
- OpenACC
Fingerprint
Dive into the research topics of 'A tale of two codes: CUDA vs OpenACC for mass-zero constrained dynamics'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver