OpenACC API User Experience, Vendor Reaction, Relevance, and Roadmap
Authors: Duncan Poole (Nvidia Corporation)
Abstract: OpenACC, a directive-based high-level parallel programming model, has gained rapid momentum among scientific application users - the key drivers of specification. The user-friendly programming model has facilitated migration of several applications such as CAM, ANSYS Fluent, Gaussian, VASP, COSMO and is also seen as the entry-level programming model on the top 5 supercomputers (Top500 list). As in previous years, this BoF invites scientists, programmers and researchers to discuss their experiences in adopting OpenACC for scientific legacy applications, learn about the roadmaps from implementers and the latest developments in the specification.
Long Description: OpenACC with a ‘more science, less programming’ motto fosters a cross-platform API allowing programmers to easily accelerate applications on current and future manycore and multicore processors. OpenACC directives determine compute-intensive code for acceleration, while preserving a single code base and cross-platform portability. OpenACC is complementary to and interoperable with existing programming paradigms, including OpenMP, MPI, CUDA and OpenCL.
OpenACC compilers currently support X86, OpenPOWER processors, NVIDIA’s GPUs, PEZY-SC and beta support for Xeon Phi (access upon request). Academic OpenACC compilers such as OpenARC target FPGA, co-processors and Omni compiler targets PEACH2 based PCIe interface that enables direct communication between GPUs (similar to GPUDirect).
This interactive BoF will bring together the user and developer communities to discuss a number of items including OpenACC adoption by production applications; status and future steps of the OpenACC specification; discuss features in the 2.6 specification release including manual deep copy; insight into current status of compilers supporting OpenACC features, architectures and insight into their roadmaps; adoption of OpenACC by upcoming DOE CORAL and top european systems; success stories from hackathons and advancements in open source and academic projects like OpenARC, Omni Compiler, OpenUH.
The BoF will also address developers’ confusions with regards to adopting OpenACC and OpenMP.
The BoF will present programming and adoption experiences of OpenACC, an increasingly user-driven standard organization, for codes such as Gaussian, ANSYS, VASP along with ORNL CAAR codes that includes GTC-P, XGC, ACME, FLASH and LSDalton in preparation for Summit and other codes such as COSMO, ELEPHANT, RAMSES, ICON and ORB5 being prepared for PizDaint supercomputer in CSCS.
The BoF will throw light on how OpenACC has enabled innovation in parallel computing with migration of CAM-SE scientific code on Top #1 supercomputer, Sunway Taihulight. Wuxi team has been announced a Gordon Bell finalist in SC17.
Since SC14, ~ 60 codes spanning astrophysics, climate modeling, nuclear physics, quantum chemistry and NGS have been ported to large scale machines using OpenACC via 25 programming hackathons held across the globe.
Two of the most critical and tangible outcomes have been: (a) Creation of a professional and next-generation HPC workforce and (b) Improvement of compilers’ quality.
An OpenACC User Group created at SC16, brings several OpenACC users together to facilitate seamless adoption of the programming model, teachers and educators together by populating GitHub with related lecture materials and sample codes for teaching purposes, and provides adequate support for OpenACC champions to conduct hackathons and tutorials.
Three new members have been added, HZDR, Virginia Tech and SJTU, to drive innovative ideas and encourage prototype developments of language features and compiler optimizations.
Like in past BoFs, at SC17 too, from the BoF attendees, we will seek input on the specification, gather feedback on existing feature sets, compiler implementations, gather newer feature requests, share users’ success stories and demonstrate performance results. Such discussions will be instrumental in guiding the direction of the standard.
Last but not the least, the OpenACC team will release an OpenACC textbook targeting preparation of next-generation workforce for parallel computing.
Conference Presentation: pdf
Birds of a Feather Index