Title
Hybrid Programming Using OpenSHMEM and OpenACC
Abstract
With high performance systems exploiting multicore and accelerator-based architectures on a distributed shared memory system, heterogenous hybrid programming models are the natural choice to exploit all the hardware made available on these systems. Previous efforts looking into hybrid models have primarily focused on using OpenMP directives (for shared memory programming) with MPI (for inter-node programming on a cluster), using OpenMP to spawn threads on a node and communication libraries like MPI to communicate across nodes. As accelerators get added into the mix, and there is better hardware support for PGAS languages/APIs, this means that new and unexplored heterogenous hybrid models will be needed to effectively leverage the new hardware. In this paper we explore the use of OpenACC directives to program GPUs and the use of OpenSHMEM, a PGAS library for onesided communication between nodes. We use the NAS-BT Multi-zone benchmark that was converted to use the OpenSHMEM library API for network communication between nodes and OpenACC to exploit accelerators that are present within a node. We evaluate the performance of the benchmark and discuss our experiences during the development of the OpenSHMEM+OpenACC hybrid program.
Year
DOI
Venue
2014
10.1007/978-3-319-05215-1_6
OpenSHMEM
Field
DocType
Citations 
Computer architecture,Shared memory,CUDA,Computer science,Parallel computing,Thread (computing),Exploit,Message Passing Interface,Partitioned global address space,Distributed shared memory,Multi-core processor
Conference
4
PageRank 
References 
Authors
0.56
6
5
Name
Order
Citations
PageRank
Matthew Baker140.56
Swaroop Pophale29310.53
Jean-Charles Vasnier340.56
Haoqiang Jin428431.77
Oscar Hernandez517220.30