Abstract
We present two miniapps that implement the core computational kernel of the DMRG++ application, a generic C++ code that implements the Density Matrix Renormalization Group (DMRG) algorithm. The DMRG++ core Kronecker multiplication kernel is formulated using a batched BLAS approach, with implementation that targets both multi-core CPUs using OpenMP and GPGPU using the MAGMA library. The kernel evaluates the matrix-vector multiplication of the target Hamiltonian matrix used in Lanczos algorithm for computing the lowest eigenvalue and eigenvector. The Hamiltonian matrix is expressed compactly as sums of Kronecker products of small dense matrices. We demonstrate improved performance of the miniapp on synthetic problem, and show the performance of the DMRG++ application using a plugin based on the miniapp. We also present an OpenMP miniapp that explores the use of nested parallel constructs to implement the Kronecker multiplication kernel, exploring the use of nested OpenMP worksharing and tasking abstractions to implement the multi-level parallel multiplication algorithm. The miniapp has been used as a co-design vehicle for evaluating features in the OpenMP-4.5 and upcoming OpenMP-5.0 standards.
| Original language | English |
|---|---|
| Title of host publication | Proceedings - 2018 IEEE International Conference on Cluster Computing, CLUSTER 2018 |
| Publisher | Institute of Electrical and Electronics Engineers Inc. |
| Pages | 590-597 |
| Number of pages | 8 |
| ISBN (Electronic) | 9781538683194 |
| DOIs | |
| State | Published - Oct 29 2018 |
| Event | 2018 IEEE International Conference on Cluster Computing, CLUSTER 2018 - Belfast, United Kingdom Duration: Sep 10 2018 → Sep 13 2018 |
Publication series
| Name | Proceedings - IEEE International Conference on Cluster Computing, ICCC |
|---|---|
| Volume | 2018-September |
| ISSN (Print) | 1552-5244 |
Conference
| Conference | 2018 IEEE International Conference on Cluster Computing, CLUSTER 2018 |
|---|---|
| Country/Territory | United Kingdom |
| City | Belfast |
| Period | 09/10/18 → 09/13/18 |
Funding
This work has been supported by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory (ORNL) is managed by UT-Battelle, LLC for the U. S. Department of Energy under Contract No. DE-AC05-00OR22725. This manuscript has been authored by UT-Battelle, LLC, under contract DE-AC05-00OR22725 with the US Department of Energy (DOE). The US government retains and the publisher, by accepting the article for publication, acknowledges that the US government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this manuscript, or allow others to do so, for US government purposes. DOE will provide public access to these results of federally sponsored research in accordance with the DOE Public Access Plan (http://energy.gov/downloads/doe-public-access-plan).
Keywords
- Batched BLAS
- DMRG
- GPGPU
- Nested-parallelism
- OpenMP