Technical News from PGI

 

In This Issue | MAR 2015

PGI C++ and OpenACC

Using the OpenACC Routine Directive Part 2

Object-Oriented Programming in Fortran 2003 Part 4: User-Defined Derived Type Input/Output

OpenACC and CUDA Unified Memory

Upcoming Events

GPU Technology Conference March 17–20 in San Jose, California.

NCSA Hack-a-thon April 20–24, in Champaign-Urbana, Illinois.

Cray User Group April 26–30, in Chicago, Illinois.

EuroHack July 6–10, in Lugano, Switzerland. Entry deadline is March 27.

Resources

Download Newest Release

PGInsider Back Issues

OpenACC Website

Free PGI for OS X

CUDA Fortran

PGI User Forums

Next Issue

New GPU Debugging Features in PGDBG

Using Default Streams in CUDA Fortran

Experiences Accelerating a Large Weather Code with OpenACC

PGI Compilers & Tools
Suite 100
20400 NW Amberwood Drive
Beaverton, OR 97006

Michael Wolfe

PGI C++ and OpenACC

Michael Wolfe's
Programming Guide

Because of its higher level of data abstraction, OpenACC has been late coming to C++. That is now changing.

Real C++ programs have much richer encapsulation and reuse behaviors than C programs. With OpenACC 2.0 dynamic data lifetimes and support for class member pointers on the accelerator device, C++ programmers can now use OpenACC in pgc++ to make parallel programming and managing the complexities of data management much more natural. | Continue to the article…

Using the OpenACC Routine Directive Part 2

The OpenACC routine directive makes it reasonably natural to write parallel programs that use modern modular programming structures, including separate compilation and libraries. The second installment of this two-part article looks at a few more advanced issues including support for global variables, interfacing to CUDA C and CUDA Fortran device functions, and using routines in C++ class member functions. | Continue to the article…

Object-Oriented Programming in Fortran 2003 Part 4: User-Defined Derived Type Input/Output

With User-Defined Derived Type Input/Output, or UDTIO, you can specify how a derived type is read from or written to a file. UDTIO in F2003 allows you to perform I/O operations on an object without any knowledge of the object's layout. In addition, UDTIO enables special processing of data during I/O operations. | Continue to the article…

OpenACC and CUDA Unified Memory

NVIDIA GPUs and CUDA drivers support a feature called CUDA Unified Memory which allows a program to dynamically allocate data that can be accessed from the CPU or from the GPU, with the same pointer and address. This article describes how to use the feature and what behavior to expect, and some problems and pitfalls you might encounter on the way. | Continue to the article…

PGI 2015 Now Available. Read What's New…