2. 2
WHAT IS OPENACC
main()
{
<serial code>
#pragma acc kernels
{
<parallel code>
}
}
Add Simple Compiler Directive
POWERFUL & PORTABLE
Directives-based
programming model for
parallel
computing
Designed for
performance and
portability on
CPUs and GPUs
SIMPLE
Open Specification Developed by OpenACC.org Consortium
3. 3
silica IFPEN, RMM-DIIS on P100
OPENACC GROWING MOMENTUM
Wide Adoption Across Key HPC Codes
ANSYS Fluent
Gaussian
VASP
LSDalton
MPAS
GAMERA
GTC
XGC
ACME
FLASH
COSMO
Numeca
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.
VASP
Top Quantum Chemistry and Material Science Code
* Applications in production and development
4. 4
OPENACC IN THE NEWS
Oak Ridge National Lab on industrial OpenACC
codes: Boosting industry with OpenACC
Read More
OpenACC Blog: Evaluating the Performance of
OpenACC in GCC
Read More
5. 5
RESOURCES
Tutorial: Zero to GPU Hero with OpenACC by Jeff Larkin
GPUs are often the fastest way to obtain your scientific results, but many students and domain scientists
don't know how to get started. In this tutorial we will take an application from simple, serial loops to a fully
GPU-enabled application. Students will learn a profile-guided approach to accelerating applications,
including how to find hotspots, how to use OpenACC to accelerated important regions of code, and how
to get the best performance they can on GPUs. No prior experience in GPU-programming or OpenACC
is required, but experience with C, C++, or Fortran is a must. Several books will be given away to
attendees who complete this tutorial.
WATCH NOW
6. 6
CALL FOR APPLICATIONS
Event Date
NCSA GPU Hackathon June 18, 2018
BNL GPU Hackathon June 30, 2018
CSCS GPU Hackathon July 8, 2018
7. 7
UPCOMING EVENTS
COMPLETE LIST OF EVENTS
Event Date
International Workshop on OpenPOWER for HPC June 28, 2018
P3MA Workshop at ISC June 28, 2018
PASC July 2-4, 2018
CSCS-USI SUMMER SCHOOL 2018 July 15-27, 2018
2018 NCTS Summer Course:
Introduction to Parallel Computing (II)
July 16-19, 2018
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.