So what is OpenACC? OpenACC is a directives-based programming model designed for performance and portability on CPUs and GPUs. It was created with scientists and engineers in mind, those who are interested in porting their codes to a wide-variety of architectures and looking for a solution that can help to do so with a minimal amount of efforts.
With OpenACC users can achieve significant acceleration of their codes within days and weeks by simply adding compiler directives that allow keeping their original code mostly untouched. As a result more time is saved for science and less used for programming it. Additionally to being a simple way to start with GPUs, OpenACC also allows to use the same code base for multiple platforms which saves a tremendous amount of time for scientists using machines with different architectures.
OpenACC is an open specification developed by the OpenACC organization that includes 20 members with NVIDIA as one of the founding members.
If you interested to learn more about OpenACC organization, its members and more, please check out openacc.org website.
OpenACC is an established programming model that has been adopted by over 100 applications including leading HPC codes.
In fact top 3 HPC application out of top 5 as defined by Intersect360 research adopted OpenACC. Gaussian, the leading quantum chemistry code has deployed OpenACC in production across the code base. ANSYS Fluent, the top computational fluid dynamics code, uses OpenACC VASP, material science and quantum chemistry code, is in the process of development OpenACC VASP version.
The Oak Ridge National Lab in its Center for Accelerated Application Readiness (CAAR) program has selected OpenACC for 5 codes out of 13 to be ported to GPUs and ready for the Summit Supercomputer.
We will cover key OpenACC application in more detail later in this presentation.
OpenACC Monthly Highlights: July and August 2018
July and August 2018
WHAT IS OPENACC
#pragma acc kernels
Add Simple Compiler Directive
POWERFUL & PORTABLE
programming model for
CPUs and GPUs
Open Specification Developed by OpenACC.org Consortium
silica IFPEN, RMM-DIIS on P100
OPENACC GROWING MOMENTUM
Wide Adoption Across Key HPC Codes
OVER 100 APPS* USING OpenACC
Prof. Georg Kresse
Computational Materials Physics
University of Vienna
For VASP, OpenACC is the way forward for GPU
acceleration. Performance is similar to CUDA, and
OpenACC dramatically decreases GPU
development and maintenance efforts. We’re
excited to collaborate with NVIDIA and PGI as an
early adopter of Unified Memory.
Top Quantum Chemistry and Material Science Code
* Applications in production and development
Blog: Using OpenACC to Port Solar Storm Modeling
Code to GPUs by Ron Caplan from Predictive Science
OPENACC IN THE NEWS
InsideHPC: OpenACC Helps Scientists Port their code at
the Center for Application Readiness (CARR) - Interview
with Jack Wells (ORNL) and Duncan Poole (OpenACC.org)
InsideHPC: Porting HPC Codes with Directives and
OpenACC - interview with Michael Wolfe (OpenACC.org)
Paper: Abstractions and Directives for Adapting Wavefront Algorithms to Future
We parallelize the Koch-Baker-Alcouffe (KBA) parallel-wavefront sweep algorithm in the main
kernel of Minisweep (the miniapplication) using CUDA, OpenMP and OpenACC. Our
OpenACC implementation running on NVIDIA’s nextgeneration Volta GPU boasts an 85.06x
speedup over serial code, which is larger than CUDA’s 83.72x speedup over the same serial
CALL FOR APPLICATIONS
Mentors for GPU Hackathons - travel funding available All year round
CDAC GPU Hackathon, Pune, India August 20, 2018
WACCPD, Dallas, TX, USA August 29, 2018
GTC China, Suzhou, China September 20, 2018
GTC 2019, San Jose, CA, USA September 21, 2018
IPDPS, Rio de Janeiro, Brazil October 8, 2018
COMPLETE LIST OF EVENTS
SJTU GPU Hackathon, Shanghai, China August 20-24, 2018
NCSA GPU Hackathon, U of Illinois at Urbana-Champaign, USA September 10-14, 2018
CDAC GPU Hackathon, Pune, India September 17-21, 2018
BNL GPU Hackathon, Upton, USA September 17-21, 2018
CSCS GPU Hackathon, Lugano, Switzerland October 1-5, 2018
ORNL GPU Hackathon, Oak Ridge, TN, USA October 22-26, 2018