Come learn why the authors of VASP, Fluent, Gaussian, Synopsys and numerous other science and engineering applications are using OpenACC. OpenACC supports and promotes scalable parallel programming on both multicore CPUs and GPU-accelerated systems, enabling large production applications to port effectively to the newest generation of supercomputers. It has very well-supported interoperability with CUDA C++, CUDA Fortran, MPI and OpenMP, allowing you to optimize each aspect of your application with the appropriate tools. OpenACC has proven to be the ideal on-ramp to parallel and GPU computing, even for those who need to tune their most important kernels using libraries or CUDA. Come see how you can try OpenACC with the free PGI Community Edition compiler suite.
Emerging heterogeneous systems are opening up tons of programming opportunities. This panel will discuss the latest developments in accelerator programming where the programmers have a choice among OpenMP, OpenACC, CUDA and Kokkos for GPU programming. This panel will throw light on what would be the primary objective(s) for a choice of model, whether its availability across multiple platforms, its rich feature set or its applicability for a certain type of scientific code or compilers' stability or other factors. This will be an interactive Q/A session where participants can discuss their experiences with programming model experts and developers.
This panel will discuss the current state of GPU programming using compiler directives, such as OpenACC and OpenMP. This session is a forum for discussing both the successes and shortcomings of using compiler directives to program GPUs. The panel will include users, speakers from compiler and tools vendors, and representatives of open source efforts to support directives. Session participants are encouraged to participate in the discussions of this panel.
The OpenACC API provides a high-level, performance portable programming mechanism for parallel programming accelerated nodes. Learn about the latest additions to the OpenACC specification, and see the PGI Accelerator compilers in action targeting the fastest NVIDIA GPUs.
In three distinct parts, this talk presents the new features that have been accepted into OpenACC version 2.0 by the time of the conference. Among the important proposed features are support for separate compilation and procedure calls and nested parallelism. For each feature, there is a motivating example and a discussion of usage guidelines. Second, the implementation of these features in the PGI Accelerator compilers will be presented. Finally, new features in the PGI compilers that are not yet part of the OpenACC specification, including support for multiple devices and multiple device types will be discussed.
This talk provides an introduction to programming NVIDIA GPUs using CUDA Fortran. It is suitable for expert Fortran or CUDA C programmers who need to extract maximum performance from GPUs using an explicit GPU Fortran programming model. This talk introduces the CUDA Fortran language, and through examples, illustrates how to explicitly program NVIDIA GPUs in native Fortran 95/03 through creation of GPU kernel subroutines, management of host and GPU device memory, definition of CUDA grids and thread blocks, launching kernels on an NVIDIA GPU device, and use of the CUDA Fortran runtime API. This talk includes a live component with a Linux workstation containing a Tesla card, and the PGI CUDA Fortran compiler.