OpenMP in VASP: Threading and SIMD
- Author(s)
- Florian Wende, Martijn Marsman, Jeongnim Kim, Fedor Vasilev, Zhengji Zhao, Thomas Steinke
- Abstract
The Vienna Ab initio Simulation Package (VASP) is a widely used electronic structure code that originally exploits process-level parallelism through the Message Passing Interface (MPI) for work distribution within and across nodes. Architectural changes of modern parallel processors urge programmers to address thread- and data-level parallelism as well to benefit most from the available compute resources within a node. We describe for VASP how to approach for an MPI + OpenMP parallelization including data-level parallelism through OpenMP SIMD constructs together with a generic high-level vector coding scheme. We can demonstrate an improved scalability of VASP and more than 20% gain over the MPI-only version as well as a 2x increased performance of collective operations using the multiple-endpoint MPI feature. The high-level vector coding scheme applied to VASP's general gradient approximation routine gives up 9x performance gain on AVX512 platforms with the Intel compiler.
- Organisation(s)
- Computational Materials Physics
- External organisation(s)
- Intel Corporation (Intel Russia), Konrad-Zuse-Zentrum für Informationstechnik (ZIB), Intel Corporation, USA, Lawrence Berkeley National Laboratory
- Journal
- International Journal of Quantum Chemistry
- Volume
- 119
- No. of pages
- 17
- ISSN
- 0020-7608
- DOI
- https://doi.org/10.1002/qua.25851
- Publication date
- 12-2018
- Peer reviewed
- Yes
- Austrian Fields of Science 2012
- 102022 Software development, 102023 Supercomputing, 103018 Materials physics, 102009 Computer simulation
- Keywords
- ASJC Scopus subject areas
- Condensed Matter Physics, Atomic and Molecular Physics, and Optics, Physical and Theoretical Chemistry
- Portal url
- https://ucrisportal.univie.ac.at/en/publications/63c02b3d-bfd3-4dc2-8f21-8eedff2b185c