SOLLVE

Exascale architectures are expected to feature a dramatic increase in the amount of intra-node threading, greater heterogeneity, and more complex hierarchical memory subsystems. OpenMP is a directive-based standard specification for programming shared-memory and accelerator systems used by many exascale applications for in-node programming. The SOLLVE project is advancing the OpenMP specification and its implementations to address exascale application challenges, including programmability gaps for core technologies, such as accelerator support, interoperability with message passing interface (MPI), and the data migration of complex data structures.

Project Details

OpenMP is a popular tool for on-node programming that is supported by a strong community of vendors, national labs, and academic groups. Most Exascale Computing Project (ECP) applications include OpenMP as part of their strategy for reaching exascale levels of performance. Several application teams identified gaps in OpenMP functionality with respect to the movement of complex data structures to and from accelerator memories, some required compatibility with the latest C++ and Fortran standards, and all expected the ability to generate performance portable code. Several of these requirements were addressed in the most recent version of OpenMP. The SOLLVE project continues to work with application partners and members of the OpenMP language committee to extend the OpenMP feature set to meet ECP application needs, especially with regard to accelerator support.

The SOLLVE team focuses on delivering a high-quality robust implementation of standard compliant OpenMP, possibly with extensions, as part of the LLVM compiler infrastructure; developing the LLVM BOLT runtime system to exploit lightweight threading for scalability and interoperability with MPI; and creating a validation suite to ensure that quality implementations of OpenMP are being delivered. The team directly interacts with end users to understand and consolidate their application software needs, allowing users to drive and prioritize features in the OpenMP standard and its implementations. To deliver appropriate mechanisms for closing functionality and performance gaps, the SOLLVE team also engages with key vendors and the broader OpenMP community. Through these different kinds of interactions, SOLLVE ensures that the best possible solutions to exascale application challenges will be adopted in new versions of the standard and its implementations.

ECP SOLLVE Hosts LLVM/OpenMP Dedicated Office Hours

Do you have issues with your OpenMP off-loading applications and need technical support? If so, ECP SOLLVE hosts LLVM/OpenMP dedicated office hours every two weeks (beginning Wednesday, March 30, 2022), from 10:30 a.m. to 11:30 a.m. central time.

Join the sessions on your computer or mobile app.

Click here to join the meeting: https://tinyurl.com/2p9bw7p4

Or call in (audio only):

+1 630-556-7958,,566286892#

<tel: +16305567958,,566286892#>

Phone Conference ID: 566 286 892#

ECP SOLLVE—OpenMP Users Monthly Teleconferences

The ECP SOLLVE project, which is working to evolve OpenMP for exascale computing, invites you to participate in a series of monthly telecons that will occur on the last Friday of every month.

We are organizing these monthly calls so that ECP application teams may share their OpenMP experiences with the community and bring any related issues or concerns to the attention of the compiler developers and OpenMP language committee members. Application developers may treat them as office hours on all topics related to OpenMP. We expect that representatives of vendors will attend on a regular basis. Please note that attendance is open to ECP and the broader HPC community, and therefore participants should not share confidential and/or proprietary information.

Our goal is to enable application teams to be more productive using OpenMP and help make your codes portable across different vendor compilers and systems. The telecons will be conducted via Zoom.  To receive the Zoom coordinates for the call, you will need to register.  Note, you will only be required to complete the registration form once to receive the invite to the monthly series.

The agendas and materials from previous telecons are available here.

Principal Investigator(s):

Sunita Chandrasekaran, Brookhaven National Laboratory/University of Delaware

Collaborators:

Argonne National Laboratory, Brookhaven National Laboratory, Oak Ridge National Laboratory, Lawrence Livermore National Laboratory, Georgia Institute of Technology, University of Delaware

Progress to date

  • The SOLLVE team introduced substantial extensions to the OpenMP 5, 5.0, 5.1, and 6.0 specifications, including features that support sequential loop optimizations and interoperability with native accelerator programming models and facilitate the movement of complex data structures to accelerators.
  • The team designed and implemented many enhancements for the LLVM compiler and OpenMP runtime implementation, including optimizations for parallel regions, asynchronous offloading support, and data movement optimization. Furthermore, SOLLVE members improved the interoperability of the BOLT runtime with several MPI implementations and provided new data locality and scheduling heuristics.
  • The team continues to expand the verification and validation suite to cover more elements of the OpenMP standard and more application use cases. It currently covers most features of OpenMP 4.5, 5.0, and 5.1 will soon be working with 6.0 features.

National Nuclear Security Administration logo U.S. Department of Energy Office of Science logo