OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2016
Sandia OpenSHMEM is an implementation of the OpenSHMEM Standard over the Portals 4 Networking API and the OpenFabrics Interface (OFI). Sandia OpenSHMEM is designed to be a low-overhead implementation of the OpenSHMEM standard which takes advantage of the many features of the Portals 4 specification.
Cited by 0Open access
Unknown · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2016
Sandia OpenSHMEM is an implementation of the OpenSHMEM Standard over the Portals 4 Networking API and the OpenFabrics Interface (OFI). Sandia OpenSHMEM is designed to be a low-overhead implementation of the OpenSHMEM standard which takes advantage of the many features of the Portals 4 specification.
Cited by 0Open access
Ed D'Azevedo · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2016
This document describes the effort to implement the Graph 500 benchmark using OpenSHMEM based on the MPI-2 one-side version. The Graph 500 benchmark performs a breadth-first search in parallel on a large randomly generated undirected graph and can be implemented using basic MPI-1 and MPI-2 one-sided communication. Graph 500 requires atomic bit-wise operations on unsigned long integers but neither atomic bit-wise operations nor OpenSHMEM for unsigned long are available in OpenSHEM. Such needed bit-wise atomic operations and support for unsigned long are implemented using atomic condition swap (CSWAP) on signed long integers. Preliminary results on comparing the OpenSHMEM and MPI-2 one-sided implementations on a Silicon Graphics Incorporated (SGI) cluster and the Cray XK7 are presented.
Cited by 0Open access
Matthew Baker, Ferrol Aderholdt, Manjunath Gorentla Venkata et al. · Lecture notes in computer science · 2016
Cited by 11
Oscar Hern, Stephen Poole, Jeffery Kuehn et al. · 2012
Abstract—The OpenSHMEM Analyzer is a compiler-based tool that can help users detect errors and provide useful analyses about their OpenSHMEM applications. The tool is built on top of the OpenUH compiler (a branch of Open64 compiler) and presents OpenSHMEM information as feedback to the user. Some of the analyses it provides include checks for correct usage of symmetric variables in OpenSHMEM calls, out-of-bounds checks for symmetric data, checks for the correct initialization of pointers to symmetric data, and symmetric data alias information. In this paper we describe the main features and design of the tool, and evaluate it with the OpenSHMEM Validation Suite, the IS NAS parallel benchmark, and the UTS benchmark. I.
Cited by 0
Matthew Baker, Swen Boehm, Aurélien Bouteiller et al. · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2017
OpenSHMEM is a Partitioned Global Address Space (PGAS) library interface specification. OpenSHMEM aims to provide a standard Application Programming Interface (API) for SHMEM libraries to aid portability and facilitate uniform predictable results of OpenSHMEM programs by explicitly stating the behavior and semantics of the Open-SHMEM library calls. Through the different versions, OpenSHMEM will continue to address the requirements of the PGAS community.
Cited by 5Open access
Dalcin, Lisandro, Rogowski, Marcin, Hammond, Jeff R. et al. · Zenodo (CERN European Organization for Nuclear Research) · 2023
Initial shmem4py release with support for: Cray OpenSHMEMX Open Source Software Solutions (OSSS) OpenSHMEM Open MPI OpenSHMEM OSHMPI Sandia OpenSHMEM
Cited by 0Open access
Sayan Ghosh, Jeff Hammond · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2017
OpenSHMEM is a community effort to unifyt and standardize the SHMEM programming model. MPI (Message Passing Interface) is a well-known community standard for parallel programming using distributed memory. The most recen t release of MPI, version 3.0, was designed in part to support programming models like SHMEM.OSHMPI is an implementation of the OpenSHMEM standard using MPI-3 for the Linux operating system. It is the first implementation of SHMEM over MPI one-sided communication and has the potential to be widely adopted due to the portability and widely availability of Linux and MPI-3. OSHMPI has been tested on a variety of systems and implementations of MPI-3, includingInfiniBand clusters using MVAPICH2 and SGI shared-memory supercomputers using MPICH. Current support is limited to Linux but may be extended to Apple OSX if there is sufficient interest. The code is opensource via https://github.com/jeffhammond/oshmpi
Cited by 0Open access
Pengfei Hao, Pavel Shamis, Manjunath Gorentla Venkata et al. · 2014
On today's supercomputing systems, faults are becoming a norm rather than an exception. Given the complexity required for achieving expected scalability and performance on future systems, this situation is expected to become worse. The systems are expected to function in a nearly constant presence of faults. To be productive on these systems, programming models will require both hardware and software to be resilient to faults. With the growing importance of PGAS programming model and OpenSHMEM, as a part of HPC software stack, a lack of a fault tolerance model may become a liability for its users. Towards this end, in this paper, we discuss the viability of using checkpoint/restart as a fault-tolerance method for OpenSHMEM, propose a selective checkpoint/restart fault-tolerance model, and discuss challenges associated with implementing the proposed model.
Cited by 9
Sayan Ghosh, Jeff · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2014
OpenSHMEM is a community effort to unifyt and standardize the SHMEM programming model. MPI (Message Passing Interface) is a well-known community standard for parallel programming using distributed memory. The most recen t release of MPI, version 3.0, was designed in part to support programming models like SHMEM.OSHMPI is an implementation of the OpenSHMEM standard using MPI-3 for the Linux operating system. It is the first implementation of SHMEM over MPI one-sided communication and has the potential to be widely adopted due to the portability and widely availability of Linux and MPI-3. OSHMPI has been tested on a variety of systems and implementations of MPI-3, includingInfiniBand clusters using MVAPICH2 and SGI shared-memory supercomputers using MPICH. Current support is limited to Linux but may be extended to Apple OSX if there is sufficient interest. The code is opensource via https://github.com/jeffhammond/oshmpi
Cited by 0Open access
Presenters Swaroop Pophale, Tony Curtis, Openshmem Api et al. · 2012
� Research in a number of areas � Focused on large scale parallelism � Exascale � ~ 20 MS & PhD students � 3 senior staff and assistant professor6
Cited by 0
Marcin Rogowski, Lisandro Dalcín, Jeff R. Hammond et al. · The Journal of Open Source Software · 2023
shmem4py brings the Partitioned Global Address Space (PGAS) programming model to Python by exposing the functionality of the OpenSHMEM Application Programming Interface (API) specification. The feature set includes one-sided communication, shared memory access, atomic memory operations, and collective operations. The Python implementation of shmem4py emphasizes using NumPy arrays, providing convenient access to the symmetric memory allocations central to OpenSHMEM’s programming model. Thanks to Python’s versatility and OpenSHMEM implementations’ focus on performance, shmem4py offers a seamless experience on a variety of hardware, from laptops to supercomputers, and for a wide range of applications and users. shmem4py API grounds in OpenSHMEM 1.5 specification; however, it also supports legacy 1.4 implementations.
Cited by 1Open access
E. D’Azevedo, Sarah Powers, Neena Imam · Lecture notes in computer science · 2016
Cited by 1
Sreeram Potluri, Devendar Bureddy, Huamin Wang et al. · 2013
Graphics Processing Units (GPUs) are becoming an integral part of modern supercomputer architectures due to their high compute density and performance per watt. In order to maximize utilization, it is imperative that applications running on these clusters have low synchronization and communication overheads. Partitioned Global Address Space (PGAS) models provide an attractive approach for developing parallel scientific applications. Such models simplify programming through the abstraction of a shared memory address space while their one-sided communication primitives allow for efficient implementation of applications with minimum synchronization. OpenSHMEM is a library-based programming model that is gaining popularity. However, the current OpenSHMEM standard does not support direct communication from GPU device buffers. It requires data to be copied to the host memory before OpenSHMEM calls can be made. Similarly, data has to moved to the GPU explicitly by remote processes. This severely limits the programmability and performance of GPU applications. In this paper we provide extensions to the OpenSHMEM model which allow communication calls to be made directly on the GPU memory. The proposed extensions are interoperable with the two most popular GPU programming frameworks: CUDA and OpenCL. We present designs for an efficient OpenSHMEM runtime which transparently provide high-performance communication between GPUs in different inter-node and intra-node configurations. To the best of our knowledge this is the first work that enables GPU-GPU communication using the OpenSHMEM model for both CUDA and OpenCL computing frameworks. The proposed extensions to OpenSHMEM, coupled with the high-performance runtime, improve the latency of GPU-GPU shmem getmem operation by 90%, 40% and 17%, for intra-IOH (I/O Hub), inter-IOH and inter-node configurations. It improves the performance of OpenSHMEM atomics by up to 55% and 52%, for intra-IOH and inter-node GPU configurations respectively. The proposed enhancements improve the performance of Stencil2D kernel by 65% on a cluster of 192 GPUs and the performance of BFS kernel by 12% on a cluster of 96 GPUs.
Cited by 27
E. D’Azevedo, Sarah Powers, Neena Imam · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2016
The benchmarking eort within the Computational Research & Development Programs at the Oak RidgeNational Laboratory (ORNL) seeks to design and enable High Performance Computing (HPC) benchmarksand test suites. The work described in this report is a part of the eort focusing on the comparison andanalysis of OpenSHMEM implementations using the Interleave Or Random (IOR) software forbenchmarking parallel file system using POSIX, MPIIO, or HDF5 interfaces. We describe the eort toemulate the MPIIO parallel collective capabilities in the IOR benchmark using OpenSHMEMcommunication. One development effort was in emulating the MPI derived datatype used in the read/writeoperations and in setting the file view. Another eort was in implementing an internal cache inOpenSHMEM distributed shared memory to facilitate global collective I/O operations. Experimentscomparing collective I/O in MPIIO implementations with the OpenSHMEM implementations wereperformed on the SGI Turing Cluster and the Cray XK7 Titan supercomputer at the Oak Ridge LeadershipComputing Facility (OLCF). The preliminary results suggest that on the Cray XK7 Titan, the MPIIOimplementations obtained higher write performance and the OpenSHMEM version obtained slightly higherread performance. On the SGI Turing Cluster, the MPIIO implementations obtained slightly higherperformance over the OpenSHMEM implementations on large files.
Cited by 0Open access
James M. Culhane · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2024
Cited by 0Open access
Howard Pritchard · OSTI OAI (U.S. Department of Energy Office of Scientific and Technical Information) · 2017
This report highlights progress for the OpenSHMEM WFO collaborative project.
Cited by 0Open access
Thomas J. Naughton, Ferrol Aderholdt, Matt Baker et al. · Lecture notes in computer science · 2019
Cited by 7Open access
Ronald B. Brightwell · 2015
Cited by 0Open access
Md. Wasi-ur-Rahman, David Ozog, Kieran Holland · Lecture notes in computer science · 2022
Cited by 0