PGI Release 9 Information
- What new features are in the latest release?
- What are the latest releases?
- How do I get the latest release?
- Which Fortran 2003 features do you support?
- How do I find out if my license will work with the current release?
- How do I find out if I qualify for a current release license?
- What is a subscription?
- How does this release differ from the previous release?
- Any known problems with the current releases?
- What problems have been fixed in this release?
- (NEW) PGI Accelerator x64+GPU Fortran and C99 compilers support directive-based programming of x64+NVIDIA Linux systems; PGF95 and PGCC accelerator compilers are supported on all Intel and AMD x64 processor-based systems with CUDA-enabled NVIDIA GPUs and enable incremental porting and tuning of Fortran and C programs from multi-core x64 to x64+GPU platforms.
- Fortran 2003 incremental features including (see list below). High-speed POPCNT, POPPAR, and LEADZ on architectures with explicit instructions to support these functions.
- PGC++/ PGCC enhancements including full support for OpenMP 3.0 with tasks in C++, GNU link once support, C++ compile speed improved by up to 20%, and support for the _m128 data type in the PGCC C99 compiler.
- (NEW) PGI Visual Fortran MSMPI debugging enhancements enable users to build, run, and debug MSMPI Fortran programs on either a local Windows laptop or workstation, or a distributed-memory cluster running Microsoft Windows HPC Server 2008 – all from within the Visual Studio 2005 or 2008 integrated development environment (IDE). Other PVF enhancements include performance improvements in serial debugging and disassembly, Fortran 2003 incremental enhancements, and Intel Core i7 (nehalem) support and optimizations.
PGPROF parallel MPI/OpenMP performance analysis and tuning tool
- New data collection mechanism via pgcollect enables profiling without re-compiling or any special software privileges
- Support for profiling of code in shared object files
- Updated GUI with tabbed access to multiple source files and improved drill-down to assembly code
- Support for profiling of binaries compiled by non-PGI compilers
PGDBG parallel MPI/OpenMP debugger all-new graphical user interface (GUI)
- All new look-and-feel with intuitive navigation and usage features
- Single easy-to-use menu bar replaces multiple menu bars in previous GUI
- Tabbed panes for fast and easy switching between source/assembly/mixed debugging views, debugging contexts for multiple threads/processes, and graphical/textual multi-process/multi-thread state information
- Improved DWARF generation for C/C++ include files, Fortran INCLUDE processing, and Fortran MODULEs
Expanded platform support
- Support for Intel Core i7 (nehalem) processor and for the six-core AMD Opteron processor (Istanbul)
- PGI Unified Binary support for NVIDIA + x64 hosts.
- PGI Unified Binary support for the latest AMD and Intel processors
- RHEL 5.3, Fedora 10, Fedora 11, SuSE 11, SuSE 11.1, and Ubuntu 9.04 Linux
- Microsoft Vista 32-bit and 64-bit, Microsoft HPC Server 2008
- Mac OS X Leopard 32-bit and 64-bit for x86
- Updated documentation including the PGI User's Guide, PGI Tools Guide and PVF User's Guide
The current PGI release versions are:
|PGI Workstation and PGI Server for Linux||9.0-4, updated September 18, 2009|
|PGI CDK® for Linux||9.0-4, updated September 18, 2009|
|PGI Workstation and PGI Server for Windows||9.0-4, updated September 18, 2009|
|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®||9.0-4, updated September 18, 2009|
|PGI CDK® for Windows||9.0-4, updated September 18, 2009|
|PGI Workstation for Mac OS X||9.0-4, updated September 18, 2009|
- C interoperability. The ISO_C_BINDING module is partially implemented. The BIND attribute is supported for derived types, and constant kind definitions are provided that map to C types. For procedures, the VALUE and BIND attributes are supported, as well as the BIND attribute for global data. The procedure C_LOC is supported, which returns the C address of an object. Also supported is the C_F_POINTER subroutine which assigns the C pointer target to the Fortran pointer, and specifies its shape. Other procedures in ISO_C_BINDING, such as C_ASSOCIATED, are not yet implemented. Enumerators are supported.
- Allocatable Regularization is always enabled. These changes allow allocatable arrays to be passed as dummy arguments, to be returned from functions, and to be components of derived types.
- Allocatable Assignments are available for both arrays and scalars. The default is to use the Fortran 95 assignment semantics; however, the option -Mallocatable=03 enables the Fortran 2003 assignment semantics.
- Fortran 2003 IMPORT statements allows access to entities accessible in the containing scope of the interface body.
- MOVE_ALLOC() moves an allocation from one allocatable object to another.
- ISO_FORTRAN_ENV is an intrinsic module that provides information about the Fortran environment through named constants.
- The number of Fortran intrinsics that have the KIND argument as an optional argument was increased with F2003. (See the PGI Workstation Release Notes for the complete list.) For these intrinsics, when the KIND argument is present, the return value is of the specified kind.
- VOLATILE attribute and statement. Being VOLATILE indicates to the compiler that, at any time, the variable might change or be examined from outside the Fortran program.
- Procedure pointers and statements. A procedure statement can be used to declare procedure pointers, dummy procedures, and external procedures. A procedure pointer is a pointer that is associated with a procedure. A procedure pointer may appear as a component of a derived type.
- Fortran 2003 Asynchronous Input/Output—Fortran 2003 asynchronous I/O is partially implemented in PGF77 and PGF95 compilers. Asynchronous I/O is allowed for external files opened with ASYNCHRONOUS='YES' in the OPEN statement. Asynchronous I/O operations are indicated by ASYNCHRONOUS='YES' in READ and WRITE statements. The compilers do not implement the ASYNCHRONOUS attribute or ASYNCHRONOUS statement.
- Fortran 2003 Stream access I/O is implemented.
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 or 9.000 in it. This is the highest release this license will support. Currently, you should have a 8.000. To use the newest release, you will need to retrieve updated license keys for 9.0. Note: Any release prior to the value in the field should work with the 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.
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.
- PGI 9.0 is the first release to include suport for PGI Accelerator compilers for x64+GPU. PGI Accelerator Fortran and C99 compilers support directive-based programming of x64+NVIDIA Linux systems and are supported on all Intel and AMD x64 processor-based systems with CUDA-enabled NVIDIA GPUs. PGI Accelerator compilers enable incremental porting and tuning of Fortran and C programs from multicore x64 to x64+GPU platforms. Please see the Accelerator page for additional information.
- The 9.0 uses a new type of license file that requires using the 11.5 version of pgroupd. You will need to make changes to your license server to allow the 9.0 license file to support older releases as well.
- The 9.0 release now supports SUSE 11.1, Red Hat Enterprise Linux 5.3, Fedora Core 10 and 11, and Ubuntu 9.04, for 64-bit on AMD64 or Intel 64.
- The 9.0 release supports six-core AMD Istanbul and the latest Intel Core i7 (nehalem) processors, including the multi-socket Xeon EX systems.
- The 9.0 and all prior releases support up to 64 OpenMP threads.
- The 9.0 release supports module load builds, a style of program
compilation and linking (like makefiles) that some sites have requested
(note: do not confuse this with Fortran 95 modules). Those sites can
download and will know how to edit and install the
Module TCL script as file 9.0 in a
directory named pgi so that
module load pgi/9.0
works as expected.
- Further information can be found in the 9.0 Release Notes located in the documentation section.
- 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.