SC19 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

OpenACC API User Experience, Vendor Reaction, Relevance, and Roadmap

Authors: Jack Wells (Oak Ridge National Laboratory), Sunita Chandrasekaran (University of Delaware), Duncan Poole (Nvidia Corporation)

Abstract: OpenACC, a well-established directive-based high-level parallel programming model designed to provide an easy on-ramp to parallel computing on CPUs, GPUs and other devices. The user-friendly programming model has facilitated the acceleration of ~200 applications including FV3, COSMO, GTS, M3D-C1, E3SM, ADSCFD, VASP on multiple platforms and has also seen as an entry-level programming model for the top supercomputers (Top500 list) such as Summit, Sunway Taihulight, and Piz Daint. As in previous years, this BoF invites scientists and programmers to discuss their experiences adopting OpenACC for scientific applications, learn about the roadmaps from implementers and the latest developments in the specification.

Long Description: With over 200 applications choosing OpenACC, the programming model is an ever-growing user community enjoys more time available for science and less spent on programming. OpenACC fosters a cross-platform API complementary to and interoperable with OpenMP, MPI, CUDA, and OpenCL.

The model targets X86 processors (such as Intel Skylake, AMD EPYC), OpenPOWER processors, NVIDIA’s GPUs, and the PEZY-SC manycore processor, FPGAs, AMD GPUs & Sunway’s Shenwei processor. Current discussions include * Technical challenges to overcome to support and migrate HPC apps to the next generation of HPC platforms such as ARM * Collaborating with language standards to support parallelization natively without directives

Progress of GCC's implementations of the OpenACC specification will be discussed especially their work in progress support for AMD GCN devices. As part of OpenARC (non-commercial compiler), Clacc is a recent effort funded by the US ECP to develop production OpenACC compiler support for Clang and LLVM. The standard values such discussions, that are often taking place in research groups and academic institutions, and to further encourage broad participation in the standard, voting rights have been amended accordingly; details will be shared with BoF attendees.

This interactive BoF will bring together the user and developer communities to brainstorm new feature requests, clarifications of definitions and implementations of existing features, and ideas for future direction. The direction of the standard is heavily driven by OpenACC users/application developers who provide feedback via user group meetings held 3-4 times a year. Feedback includes new feature requests or clarifications to existing ones. We will present the features that were accepted for the latest version to be released at SC19, as well as the top features that are being considered for future versions.

Representatives from SPEC HPG will present an overview of SPEC HPC2020 benchmark suite that is being put together as we speak. SPEC HPG will also present results of the OpenACC dataset of the SPEC ACCEL benchmark, comparing OpenACC compilers’ performances on hardware and software.

Since SC14, over 200 kernels, miniapps, and applications spanning astrophysics, climate modeling, and quantum chemistry have been ported to large scale machines using OpenACC and other GPU programming languages via hackathons held around the globe. Hackathons have also traveled to newer locations like Korea and China. We will share stories that have always kindled further interests.

Like every year, we will hear OpenACC success stories from two major domains (oil & gas and weather forecasting).

Training/Education: The committee has put together education materials that include lecture slides, Jupyter notebooks, availability of example codes via docker/containers that anyone interested to teach can use.

New OpenACC members will share their enthusiasm and motivation behind joining the organization.

All of the above topics have steered excellent discussions among the attendees in the past years. We will ensure to keep up the momentum.

Tentative Agenda includes updates on:

• Specification feature (7) • Compilers’ implementations (7) • Application port (1-2 real-world scientific codes) (10) • SPEC HPG OpenACC related (7) • Training and Education (7) • New member introductions (5)

Back to Birds of a Feather Archive Listing