PGI New Release Questions


PGI 2010 Features and Performance

  • PGI Accelerator™ x64+GPU native Fortran 95/03 and C99 compilers now support the full PGI Accelerator Programming Model v1.0 standard for directive-based GPU programming and optimization.
    • Now supported on Linux, MacOS and Windows
    • Device-resident data using MIRROR, REFLECTED, UPDATE directives
    • COMPLEX and DOUBLE COMPLEX data, Fortran derived types, C structs
    • Automatic GPU-side loop unrolling, support for the UNROLL clause
    • Support for Accelerator regions nested within OpenMP parallel regions
  • PGI CUDA Fortran extensions supported in the PGI 2010 Fortran 95/03 compiler enable explicit CUDA GPU programming
    • Declare variables in CUDA GPU device, constant or shared memory
    • Dynamically allocate page-locked pinned host memory, CUDA device main memory, constant memory and shared memory
    • Move data between host and GPU with Fortran assignment statements
    • Declare explicit CUDA grids/thread-blocks to launch GPU compute kernels
    • Support for CUDA Runtime API functions and features
    • Efficient host-side emulation for easy CUDA Fortran debugging
  • PGI Fortran 2003 incremental features. See full list below.
  • PGC++/ PGCC enhancements include the latest EDG release 4.1 front-end with enhanced GNU and Microsoft compatibility, extern inline support, improved BOOST support, thread-safe exception handling
  • PGI Visual Fortran supports launching and debugging of MSMPI programs on Windows clusters from within Visual Studio, adds support for the PGI Accelerator Programming model and PGI CUDA Fortran on NVIDIA CUDA-enabled GPUs, and now includes the standalone PGPROF performance profiler with CCFF support.
  • Compiler optimizations and enhancements include OpenMP support for up to 256 cores, support for AVX code generation, C++ inlining and executable size improvements,
  • PGPROF parallel MPI/OpenMP performance analysis and tuning tool
    • Uniform cross-platform performance profiling without re-compiling or any special software privileges on Linux, MacOS and Windows
    • PGI Accelerator and CUDA Fortran GPU-side performance statistics
    • Updated graphical user interface
  • Latest Operating Systems supported including RHEL 5, Fedora 11, SLES 11, SuSE 11.1, Ubuntu 9, Windows 7 and Mac OS X Snow Leopard
  • Updated Documentation including the PGI Users Guide, PGI Tools Guide and PVF Users Guide

Complete details are included in the PGI Workstation Release Notes, the PGI Visual Fortran Release Notes and the PGI CDK Release Notes.


What are the latest releases?

The current PGI release versions are:

  PGI Workstation and PGI Server for Linux   10.2, updated February 5, 2010
  PGI CDK® for Linux   10.2, updated February 5, 2010
  PGI Workstation and PGI Server for Windows   10.2, updated February 5, 2010
  PGI Workstation and PGI Server for Windows SUA 32   8.0-1, updated November 14, 2008
  PGI Workstation and PGI Server for Windows SUA 64   8.0-1, updated November 14, 2008
  PGI Workstation and PGI Server for Windows SFU 32   8.0-1, updated November 14, 2008
  PGI Visual Fortran®   10.2, updated February 5, 2010
  PGI CDK® for Windows   10.2, updated February 5, 2010
  PGI Workstation for Mac OS X   10.2, updated February 5, 2010

Download the current release or download an older release from the PGI archive.


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.


Which Fortran 2003 features do you support?

  • Full C interoperability including:
    • ISO_C_BINDING module
    • BIND attribute
    • VALUE attribute
    • C_LOC procedure
    • C_FUNLOC procedure
    • C_ASSOCIATED procedure
    • C_F_POINTER subroutine
    • C_F_PROCPOINTER subroutine
    • Enumerators
  • IEEE support:
    • ieee_exceptions module
    • ieee_arithmetic module
  • Environment support:
    • iso_fortran_env module
    • command_argument_count
    • get_command
    • get_command_argument
    • get_environment_variable
  • Allocatable Regularization
  • Allocatable Assignments (both arrays and scalars). The default is to use the Fortran 95 assignment semantics; the option -Mallocatable=03 enables the Fortran 2003 assignment semantics.
  • Pointer reshaping
  • Abstract interface
  • IMPORT statements
  • MOVE_ALLOC()
  • KIND argument for Fortran intrinsics
  • VOLATILE attribute and statement
  • PASS and NOPASS attribute and statement
  • Procedure pointers and statements
  • Asynchronous Input/Output (partially implemented)
  • Stream access I/O


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

The license file will have 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 is the highest release this license will support. Currently, you should have a 9.000. To use the newest release, you will need to retrieve updated license keys for 10.0. Note: Any release prior to the value in the field should work with the license.


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

The subscription information is summarize on your PIN management page. Click a PIN for account information including subscription expiration, release number and current license keys. Note: If you qualify for release 9.0-1, for example, you will also qualify for 9.0-2, 9.0-6, and so on when/if they occur but this may change in a future release.


What is a subscription?

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


How does this release differ from the previous release?

  • PGI 2010 uses a new type of license file that requires using the 11.7 version of pgroupd. You will need to make changes to your license server to allow the 10.2 license file to support older releases as well.
  • PGI 2010 now supports up to 256 OpenMP threads. Earlier versions had a 64 thread limit.
  • Further information can be found in the PGI 2010 Release Notes located in the documentation section.

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 libc.so.6 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