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