OpenMP in VASP: Threading and SIMD

in press
  • 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.

Export metadata

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Florian Wende, Martijn Marsman, Jeongnim Kim, Fedor Vasilev, Zhengji Zhao, Thomas Steinke
Document Type:Article
Parent Title (German):International Journal of Quantum Chemistry
Issue:Emerging Architectures in Computational Chemistry
First Page:e25851
Publisher:Wiley Online Library
Date of first Publication:2018/12/19
DOI:https://doi.org/10.1002/qua.25851