PGI 2016 Features and Performance

  • PGI C++ Compiler
    • Comprehensive support of C++14, requires GCC version 5.0 or greater; full interoperability with GCC 5.1
  • PGI Fortran Compiler
    • Further optimizations of scalar/vector single precision pow, exp, log, and atan intrinsic functions for Intel Haswell processors
  • PGI Accelerator OpenACC Compilers
    • New OpenACC 2.5 features:
      • default(present) clause
      • acc_memcpy_device API routine
      • asynchronous versions of data API routines
      • profiling and trace tools interface
    • Behavior changes:
      • copy, copyin, copyout and create data clauses now act like present_or_copy, etc.
      • acc_copyin, acc_create, acc_copyout and acc_delete API routines now act like acc_present_or_copyin, etc.
      • declare create directive with a Fortran allocatable
      • reductions on orphaned gang loops explicitly disallowed
      • reductions on array and struct elements, and C++ class members explicitly disallowed
      • acc routine without gang/worker/vector/seq now an error
    • More stable option -ta=tesla:pinned replaces -ta=tesla:pin
    • Kernels launched using -ta=tesla:managed now synchronous by default
    • New ACC_BIND environment variable set by default with -ta=multicore
  • PGI Tools
    • All new PGPROF can profile CPU code or CPU+GPU code; both graphical and command-line modes
    • PGDBG debugger supports disassembly of AVX3 instructions
    • Enhanced debugger display of Fortran character types and named commons
    • Improved support for debugging OS X shared objects
    • Significantly reduced load time when debugging large applications
  • Libraries
    • New pre-built BLAS and LAPACK library based on OpenBLAS included with all PGI products
    • Linux products now ship with Open MPI 1.10.1 instead of MPICH
    • Pre-built versions of NetCDF and Parallel NetCDF 1.6.1 available online
    • Pre-built versions of the Earth System Modeling Framework (ESMF) 6.3.0rp1 available online; one per PGI-built MPI distribution
  • Other Features, Changes and Additions
    • New license key format allows combining multiple floating licenses of varying types and seat counts into a single license file
    • License key format change requires users to retrieve new license keys
    • New operating systems supported include CentOS 7, Fedora23, RHEL 7.2, SLES 12, Ubuntu 15.10 and OS X El Capitan
  • Deprecations and Eliminations
    • Deprecated 32-bit support; expected to be dropped in PGI 2017
    • Deprecated PGI Accelerator on OS X support; expected to be dropped in PGI 2017
    • Dropped C++ support on Windows
    • Dropped 32-bit PGI Accelerator support on all platforms; 32-bit support retained for the -ta=host and -ta=multicore sub-options
    • Dropped legacy PGI C++ compiler compatible with the STLPort
    • Dropped CUDA 6.5 toolkit support
    • Dropped bundled AMD Core Math Library (ACML)
    • Dropped RHEL 4 and SLES 10 support
    • Dropped bundled PDF documentation; moved online at

Complete details are included in the PGI Release Notes.

What are the latest release versions?

The current PGI 2016 release versions are:

  PGI Workstation™ and PGI Server™ for Linux   16.10 released November 13, 2016
  PGI CDK® for Linux   16.10 released November 13, 2016
  PGI Workstation and PGI Server for Windows   16.10 released November 13, 2016
  PGI Visual Fortran® for Windows   16.10 released November 13, 2016
  PGI Workstation for OS X   16.10 released November 13, 2016

Download the current release or download an archive release.

How do I get the latest release?

PGI products are available in the download section. There is also a link after you log in to your account.

How do I find out if my license will work with the current release?

Previously, a PGI license file had a field with 3.000, 3.100, 3.200, 3.300, 4.000, 4.100, 5.000, 5.100, 5.200, 6.000, 6.100, 6.200, 7.000, 7.100, 7.200, 8.000, 9.000 or 10.2 in it. This number represents the highest release this license will support along with all previous releases. (Note: Since 7.0, licenses are compatible with releases back to 5.1—older releases may need the older license format).

With the PGI 2010 release version 10.3, PGI license files use a form of your suppprt expiration date as the release number. These licenses will work with any software that is issued before this expiration date. For example, a license with a support expiration date of December 25, 2010, will include "2010.1225" as the version in the license.dat file. A new PGI compiler release issued, for example, on June 9, 2010, and called version 10.6, will work with any license that has a support date of 2010.0601, or the first day of June 2010. The new compiler releases will work with any license that expires on the first day of the release month, or any date after that. Old releases also work with a new license format because their release version "date" (e.g. 7.200) is also 'before' the subscripton expiration date of 2010.1225.

How do I find out if I qualify for a current release license?

Your support service information is summarized on your PIN management page. Click any PIN in the list for information about that PIN including support expiration date, release number and current license keys. Note that current release licenses use the support expiration date as the date of the newest release the license will support. If your support is current you will not need to generate a new license for a new release. A release for example, 10.5, which came out May 8, 2010, has a release version date of 2010.0501 (the first day of May). A license with support expiration date of June 14, 2011, will have a license with a FEATURE or PACKAGE line value of 2011.0614. This license should work with the 10.5 release, along with all releases that are released on or before June 30, 2010.

What is a PGI Support?

The PGI Support Service entitles the subscriber to new licenses for new releases. Typically, support is valid for one year from date of purchase. New license purchases include 30 days of support service. If you did not purchase support when you purchased your license, or if your support has expired, you can qualify for the current relase by bringing your suport current. You may also wish to read the PGI Support Service Agreement.

Any known problems with the recent releases?

  • 32-bit executables that use libpthreads may fail on 64-bit Linux systems because libpthreads reduces stack size to 2MB. This is a Linux limitation. libpthreads is used by routines compiled -mp or -Mconcur. 64-bit executables do not experience this limitation.
  • Some users linking with libpthreads (-mp or -Mconcur) have seen the error message symbol _h_errno, version GLIBC_2.2.5 not defined in file with link time reference This can be worked around with the environment variable LD_ASSUME_KERNEL export LD_ASSUME_KERNEL=2.4.1 or export LD_ASSUME_KERNEL=2.2.5 for example.
Click me