SC21 Proceedings

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

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

Authors: Jack Wells (NVIDIA Corporation), Sunita Chandrasekaran (University of Delaware), Guido Juckeland (Helmholtz-Zentrum Dresden-Rossendorf (HZDR))

Abstract: OpenACC is dedicated to helping the developer community advance by expanding their accelerated parallel computing skills, and supports a directive-based, high-level programming model designed to provide an easy on-ramp to accelerated computing on CPUs, GPUs and other devices. OpenACC supports over 25 global hackathons each year and the user-friendly programming model has facilitated acceleration of over 200 applications on multiple platforms, e.g., Perlmutter, Summit, Sunway Taihulight, and Piz Daint. This BoF invites scientists, programmers and researchers to discuss their experiences in adopting OpenACC for scientific applications, learn about the roadmaps from implementers and the latest developments in the language specification.

Long Description: The OpenACC organization represents a vibrant community of public and private institutions who place priority on accelerated, high-performance computing. Integral to the organization's activities is the stewardship of is a well-established directive-based programming model, OpenACC, designed to provide an easy on-ramp to parallel computing on CPUs, GPUs and other devices. This programming model has been created with regular feedback from the users, while keeping usability and productive performance in mind. With over 200 applications choosing OpenACC, its ever-growing user community enjoys more time available for science and less time spent on programming. OpenACC fosters a cross-platform API complementary to and interoperable with OpenMP, MPI, CUDA, and OpenCL. Applications ported to GPUs using OpenACC include Gaussian, ANSYS, and VASP among other top HPC applications. Over time, the organization’s membership is increasingly placing emphasis on achieving high performance and effective portability through the ISO standard languages with the OpenACC specification maintaining currency with the ISO language parallel standards.

The model targets X86, Arm, and OpenPOWER CPUs, NVIDIA’s and AMD GPUs, and the PEZY-SC manycore processor, FPGAs, and 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 * Progress of GCC and LLVM implementations of the OpenACC specification, * Collaborating with ISO language standards to support parallelization natively without directives.

This interactive BoF will bring together the user and developer communities to discuss successes, challenges, and 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. Feedback includes new feature requests or clarifications to existing ones. An updated version of the specification with revised definitions for some of the current features and how OpenACC plans to address different memory models, will be released during the SC time frame.

The topic on Hackathons has always kindled a vibrant conversation among BOF attendees who are either seeking help to accelerate their codes or are interested in either hosting similar hackathons or sending teams to such events. Since SC14, over 200 kernels, miniapps and applications spanning astrophysics, climate modeling, nuclear physics and quantum chemistry have been ported to large scale machines using OpenACC and other GPU programming languages via hackathons held around the globe. Hackathons represent a global network (Asian, Europe, North and South America) of parallel computing expert advocates and motivated teams for focused, advanced training and hand-on experience guided by expert mentors.


Back to Birds of a Feather Archive Listing