Events address issues of programmability, portability, and performance
Staff from the Oak Ridge Leadership Computing Facility (OLCF), a US Department of Energy (DOE) Office of Science User Facility, held prominent roles in two recent committee meetings—one focused on OpenACC and one devoted to OpenMP.
OLCF team members Fernanda Foertter, Oscar Hernandez, and Markus Eisenbach served as hosts for the OpenACC meeting at DOE’s Oak Ridge National Laboratory (ORNL) May 12–14. OLCF users gave the OpenACC standards committee feedback on how OpenACC is being used, with the feedback informing the committee on needed changes or features. Another task the group addressed was finalizing OpenACC standards as it moves from 2.0 to 2.5
“We’re specifically interested in how the standards allow people to program efficiently,” Foertter said. “We don’t want them to have to rewrite their code. And because it is a directives-based language—that is, you don’t have to change much in the code—it is important that it have features our users are interested in for accelerating their application.”
The OpenACC Application Program Interface (API) describes a collection of compiler directives to specify loops and regions of code in standard C, C++, and Fortran to be offloaded from a host CPU to an attached accelerator. OpenACC is designed for portability across operating systems, host CPUs, and a wide range of accelerators, including APUs, GPUs, and many-core coprocessors.
“It is an off-shoot of OpenMP,” Foertter said. “It is intended to focus on massively parallel systems.” As a user assistance professional, Foertter said her role is user-focused. “When necessary, we must respond to the needs of our users,” she said. “And this meeting was good to host here. It was remarkable how strong the user feedback was from this event.”
Soon after the OpenACC meeting ended at ORNL, Foertter traveled to Spain to represent the OLCF at the OpenMP meeting May 18–22 at the Barcelona Supercomputing Center.
“There, we had similar conversations about how to address issues of programmability, portability, and performance. Because OpenMP is more mature, change comes more slowly,” she explained.
The OpenMP API supports multiplatform shared-memory parallel programming in C/C++ and Fortran. The OpenMP API defines a portable, scalable model with a simple and flexible interface for developing parallel applications on platforms from the desktop to the supercomputer. The focus, Foertter said, was making programming accelerators more functional.
“OpenMP still has some road to catch up to OpenACC in terms of features, but the good news is that OpenACC has been a proving ground for accelerator programming. OpenMP benefits from this experience,” said Foertter, who noted that the group worked toward finalizing the updated standards for when OpenMP moves from version 4.0 to 4.1. “It’s important to have variety in the HPC ecosystem, and these two groups benefit cross-fertilization of organizations that serve on both committees.”
Oak Ridge National Laboratory is supported by the US Department of Energy’s Office of Science. The single largest supporter of basic research in the physical sciences in the United States, the Office of Science is working to address some of the most pressing challenges of our time. For more information, please visit science.energy.gov.