Technical News from PGI


In This Issue | AUG 2014

Using the OpenACC Routine Directive

CUDA Fortran Managed Memory

Using Environment Modules

Using Batch cuBLAS with CUDA Fortran

Accelerating a C++ CFD code with OpenACC

Upcoming Events

PGI is participating in CCDSC in Chemin de Chanzé, France September 2–5

PGI is participating in the University of Houston Oil & Gas Workshop October 20, at the UH campus in Houston. Call for speakers is now open.

PGI is participating in OpenACC Hackathon at Oak Ridge, October 27–31.

PGI is exhibiting in booth #1631 at SC14 November 17-22 in New Orleans, Lousiana.


PGInsider Back Issues

OpenACC Website

PGI Accelerator OpenACC Supported Feature List

Free PGI for OS X

CUDA Fortran

PGI User Forums

Next Issue

Using Routine Directive Part 2

Fortran 2003 OOP Part 4

Conditional Vectorization Benefits and Pitfalls

Introducing the SPEC ACCEL Benchmarks

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

Michael Wolfe

Using the OpenACC Routine Directive

Michael Wolfe's
Programming Guide

One of the key features of high level language programming is modularity, including support for procedures and separate compilation.

In the first installment of this two-part article, Michael Wolfe explains the OpenACC routine directive and how it's used. Michael starts with a basic overview including examples. He then moves on to describe the dual-use nature of the directive and explains how to use the routine clauses to control parallelism within a routines. He concludes with advice on writing portable code and a look at what we might expect down the road. | Continue to the article…

CUDA Fortran Managed Memory

PGI 14.7 introduces the biggest productivity improvement to CUDA Fortran since CUF kernels. While using managed memory may not make your code run any faster, it does simplify many coding tasks, makes source code cleaner, and enables sharing of complicated data structures between host and device. | Continue to the article…

User-Installable Libraries and Environment Modules

With Environment Modules, developers can easily include external libraries with a minimum of effort. Module files make it easy to switch from one version of a software package to another when both are installed side-by-side. PGI now includes Environment Modules with each Linux and OS X installation. This article looks at configuring and using Modules with PGI compilers and libraries. | Continue to the article…

Using Batch cuBLAS with CUDA Fortran

Batched cuBLAS routines enable parallelism automatically for certain operations (GEMM, GETRF, GETRI, and TRSM).  Beginning with PGI the 14.6 compilers, interfaces to these batched cuBLAS routines have been implemented in the CUDA Fortran cublas module. In this article Greg Reusch looks at these new interfaces and how to exploit them. | Continue to the article…

Accelerating a C++ CFD code with OpenACC

Over at the NVIDIA Parallel Forall blog, Jiri Kraus walks through the steps he used to achieve a greater than 2.5x speed-up of the ZFS flow solver using OpenACC. | Continue to the article…

Download a Free PGI for OS X