In This Issue | MAR 2015
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
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

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…