Project

OpenSHMEM

Project Status: Active

The Programming Models and Languages team is focused on developing the OpenSHMEM programming model for extreme scale systems. Towards this goal, the team conducts various activities including developing the OpenSHMEM specification, conducting the OpenSHMEM research, developing and maintaining a high-performing implementation of OpenSHMEM, and conducting outreach activities such as organizing tutorials and OpenSHMEM workshops. The current and former members of the team were instrumental in developing OpenSHMEM as an open source alternative for SHMEM programming model, and releasing the specification version 1.0, 1.1, 1.2, and 1.3. To achieve high-performing OpenSHMEM implementation, the team members along with Mellanox conceived and developed UCX communication layer, which provides high-performance and scalable communication operations for OpenSHMEM and other programming models. The team partners with other experts from industry and academia to develop the OpenSHMEM ecosystem. Currently, the team partners with NVIDIA, University of Tennessee, Knoxville, Florida State University and Paratools. 

OpenSHMEM Background:

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 OpenSHMEM library calls. Many high performance implementations exist from notable vendors such as SGI and Cray. Current vendors are moving towards OpenSHMEM compliant implementations and new vendors are developing OpenSHMEM library implementations to help the users write portable OpenSHMEM code. This ensures that programs can run on multiple platforms without having to deal with subtle vendor-specific implementation differences. Through the different versions, OpenSHMEM strives to continually address the requirements of the PGAS community. The OpenSHMEM effort is driven by the Programming Models and Languages Team and their Industry and University Partners. Besides the specification, the effort also includes providing a reference OpenSHMEM implementation, validation and verification suites, tools, a mailing list and website infrastructure to support specification activities.

The Programming Models and Languages team is focused on developing the OpenSHMEM programming model for extreme scale systems. Towards this goal, the team conducts various activities including developing the OpenSHMEM specification, conducting the OpenSHMEM research, developing and maintaining a high-performing implementation of OpenSHMEM, and conducting outreach activities such as organizing tutorials and OpenSHMEM workshops. The current and former members of the team were instrumental in developing OpenSHMEM as an open source alternative for SHMEM programming model, and releasing the specification version 1.0, 1.1, 1.2, and 1.3. To achieve high-performing OpenSHMEM implementation, the team members along with Mellanox conceived and developed UCX communication layer, which provides high-performance and scalable communication operations for OpenSHMEM and other programming models. The team partners with other experts from industry and academia to develop the OpenSHMEM ecosystem. Currently, the team partners with NVIDIA, University of Tennessee, Knoxville, Florida State University and Paratools. 

OpenSHMEM Background:

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 OpenSHMEM library calls. Many high performance implementations exist from notable vendors such as SGI and Cray. Current vendors are moving towards OpenSHMEM compliant implementations and new vendors are developing OpenSHMEM library implementations to help the users write portable OpenSHMEM code. This ensures that programs can run on multiple platforms without having to deal with subtle vendor-specific implementation differences. Through the different versions, OpenSHMEM strives to continually address the requirements of the PGAS community. The OpenSHMEM effort is driven by the Programming Models and Languages Team and their Industry and University Partners. Besides the specification, the effort also includes providing a reference OpenSHMEM implementation, validation and verification suites, tools, a mailing list and website infrastructure to support specification activities.