OpenMP in VASP: Threading and SIMD

Florian Wende (Corresponding author), Martijn Marsman, Jeongnim Kim, Fedor Vasilev, Zhengji Zhao, Thomas Steinke

Publications: Contribution to journalArticlePeer Reviewed

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.
Original languageEnglish
Article numbere25851
Number of pages17
JournalInternational Journal of Quantum Chemistry
Volume119
Issue number12
Early online date19 Dec 2018
DOIs
Publication statusPublished - 15 Jun 2019

Austrian Fields of Science 2012

  • 102022 Software development
  • 102023 Supercomputing
  • 103018 Materials physics
  • 102009 Computer simulation

Keywords

  • ELECTRON-GAS
  • TOTAL-ENERGY CALCULATIONS
  • WAVE

Fingerprint

Dive into the research topics of 'OpenMP in VASP: Threading and SIMD'. Together they form a unique fingerprint.

Cite this