July 2018

Conference Paper

Porting DMRG++ Scientific Application to OpenPOWER

By:
Chatterjee, Arghya ; Alvarez, Gonzalo ; D'azevedo, Eduardo F; Elwasif, Wael R; Hernandez Mendoza, Oscar R; Sarkar, Vivek
Journal Name:
International Conference on High Performance Computing
Page Number:
418-431
Volume:
2018
Issue Number:
1
Publication Date:
July 2018
Conference Name:
International Workshop on OpenPOWER for HPC (IWOPH 2018)
Conference Location:
Frankfurt, Germany
Conference Sponsor:
Various
View DOI Listing:
https://doi.org/10.1007/978-3-030-02465-9_29

Abstract

With the rapidly changing microprocessor designs and architectural diversity (multi-cores, many-cores, accelerators) for the next generation HPC systems, scientific applications must adapt to the hardware, to exploit the different types of parallelism and resources available in the architecture. To get the benefit of all the in-node hardware threads, it is important to use a single programming model to map and coordinate the available work to the different heterogeneous execution units in the node (e.g., multi-core hardware threads (latency optimized), accelerators (bandwidth optimized), etc.). Our goal is to show that we can manage the node complexity of these systems by using OpenMP for in-node parallelization by exploiting different “programming styles” supported by OpenMP 4.5 to program CPU cores and accelerators. Finding out the suitable programming-style (e.g., SPMD style, multi-level tasks, accelerator programming, nested parallelism, or a combination of these) using the latest features of OpenMP to maximize performance and achieve performance portability across heterogeneous and homogeneous systems is still an open research problem. We developed a mini-application, Kronecker Product (KP), from the original DMRG++ application (sparse matrix algebra) computational motif to experiment with different OpenMP programming styles on an OpenPOWER architecture and present their results in this paper.