<?xml version="1.0" encoding="utf-8"?>
<export-example>
  <doc>
    <id>7230</id>
    <completedYear/>
    <publishedYear>2018</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst>e25851</pageFirst>
    <pageLast/>
    <pageNumber/>
    <edition/>
    <issue>Emerging Architectures in Computational Chemistry</issue>
    <volume/>
    <type>article</type>
    <publisherName>Wiley Online Library</publisherName>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>2018-12-19</completedDate>
    <publishedDate>2018-12-19</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">OpenMP in VASP: Threading and SIMD</title>
    <abstract language="eng">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.&#13;
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.&#13;
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.&#13;
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.&#13;
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.</abstract>
    <parentTitle language="deu">International Journal of Quantum Chemistry</parentTitle>
    <identifier type="doi">10.1002/qua.25851</identifier>
    <enrichment key="PeerReviewed">yes</enrichment>
    <enrichment key="SubmissionStatus">in press</enrichment>
    <enrichment key="AcceptedDate">2018-12-19</enrichment>
    <submitter>Florian Wende</submitter>
    <author>Florian Wende</author>
    <author>Martijn Marsman</author>
    <author>Jeongnim Kim</author>
    <author>Fedor Vasilev</author>
    <author>Zhengji Zhao</author>
    <author>Thomas Steinke</author>
    <collection role="institutes" number="vas">Distributed Algorithms and Supercomputing</collection>
    <collection role="persons" number="steinke">Steinke, Thomas</collection>
    <collection role="projects" number="2013-Many-Core-HPC">2013-Many-Core-HPC</collection>
  </doc>
  <doc>
    <id>6510</id>
    <completedYear/>
    <publishedYear>2017</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst/>
    <pageLast/>
    <pageNumber/>
    <edition/>
    <issue/>
    <volume/>
    <type>conferenceobject</type>
    <publisherName/>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>--</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">Performance of Hybrid MPI/OpenMP VASP on Cray XC40 Based on Intel Knights Landing Many Integrated Core Architecture</title>
    <abstract language="eng">With the recent installation of Cori, a Cray XC40 system with Intel Xeon Phi Knights Landing (KNL) many integrated core (MIC) architecture, NERSC is transitioning from the multi-core to the more energy-efficient many-core era. The developers of VASP, a widely used materials science code, have adopted MPI/OpenMP parallelism to better exploit the increased on-node parallelism, wider vector units, and the high bandwidth on-package memory (MCDRAM) of KNL. To achieve optimal performance, KNL specifics relevant for the build, boot and run time setup must be explored. In this paper, we present the performance analysis of representative VASP workloads on Cori, focusing on the effects of the compilers, libraries, and boot/run time options such as the &#13;
NUMA/MCDRAM modes, Hyper-Threading, huge pages, core specialization, and thread scaling. The paper is intended to serve as a KNL performance guide for VASP users, but it will also benefit other KNL users.</abstract>
    <note>Availability: https://cug.org/conference-proceedings</note>
    <enrichment key="Series">CUG Conference Proceedings</enrichment>
    <enrichment key="PeerReviewed">yes</enrichment>
    <enrichment key="FulltextUrl">https://cug.org/proceedings/cug2017_proceedings/includes/files/pap134s2-file1.pdf</enrichment>
    <author>Zhengji Zhao</author>
    <submitter>Florian Wende</submitter>
    <author>Martijn Marsman</author>
    <author>Florian Wende</author>
    <author>Jeongnim Kim</author>
    <collection role="institutes" number="vas">Distributed Algorithms and Supercomputing</collection>
    <collection role="projects" number="2013-Many-Core-HPC">2013-Many-Core-HPC</collection>
  </doc>
  <doc>
    <id>6511</id>
    <completedYear/>
    <publishedYear>2017</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst>107</pageFirst>
    <pageLast>122</pageLast>
    <pageNumber/>
    <edition/>
    <issue/>
    <volume>8766</volume>
    <type>conferenceobject</type>
    <publisherName/>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>--</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">Porting VASP from MPI to MPI+OpenMP [SIMD]</title>
    <abstract language="eng">We describe for the VASP application (a widely used electronic structure code written in FORTRAN) the transition from an MPI-only to a hybrid code base leveraging the three relevant levels of parallelism to be addressed when optimizing for an effective execution on modern computer platforms: multiprocessing, multithreading and SIMD vectorization. To achieve code portability, we draw on MPI parallelization together with OpenMP threading and SIMD constructs. Combining the latter can be challenging in complex code bases. Optimization targets are combining multithreading and vectorization in different calling contexts as well as whole function vectorization. In addition to outlining design decisions made throughout the code transformation process, we will demonstrate the effectiveness of the code adaptations using different compilers (GNU, Intel) and target platforms (CPU, Intel Xeon Phi (KNL)).</abstract>
    <parentTitle language="eng">Scaling OpenMP for Exascale Performance and Portability - 13th International Workshop on OpenMP, IWOMP 2017, Stony Brook, NY, USA, September 20-22, 2017</parentTitle>
    <identifier type="doi">10.1007/978-3-319-65578-9_8</identifier>
    <enrichment key="Series">LNCS</enrichment>
    <enrichment key="PeerReviewed">yes</enrichment>
    <author>Florian Wende</author>
    <submitter>Florian Wende</submitter>
    <author>Martijn Marsman</author>
    <author>Zhengji Zhao</author>
    <author>Jeongnim Kim</author>
    <collection role="institutes" number="vas">Distributed Algorithms and Supercomputing</collection>
    <collection role="projects" number="2013-Many-Core-HPC">2013-Many-Core-HPC</collection>
  </doc>
</export-example>
