PGI New Release Questions
- Full support for the OpenMP 3.0 parallel programming standard
for multi-core x64 CPUs and multi-socket servers, including full
support for task constructs in PGF95 and PGCC (watch the
OpenMP 3.0 and
Task Parallelization video [time: 4:18])
- (NEW)
Common Compiler Feedback Format (CCFF) is now supported by
all PGI 8.0 compilers; CCFF is a standardized format for storing
and reporting of optimization information and hints to users
- Improved PGPROF
performance analysis and tuning tool fully utilizes CCFF
(watch the
PGPROF 8.0 New Features video [time: 7:50])
- (NEW) Browse-able CCFF
information correlated with source code
- (NEW) Calculates Compute
Intensity to identify regions of code suitable for
multi-core parallelization and/or offloading to a
GPU accelerator
- Improved multi-core scalability analysis using
hardware counters on Linux
- Improved performance of PGPROF timer-instrumented
executables
- All new look-and-feel with intuitive navigation and
analysis features
- (NEW) Provisional support for
x64+GPU on 64-bit Linux for CUDA-enabled NVIDIA GPUs using
the new high-level PGI
Accelerator Compilers programming model
- Compiler optimizations and features
- (NEW) Computation and reporting
of compute intensity of loops in all languages
- Packed SSE code generation for unrolled loops
- SSE vectorization of generalized reduction loops
- Improved scalar prefetching, spill tuning and live range
splitting
- Improved static estimation of block execution frequencies
- PGC++ STL is now thread safe; based on STLPort 4.6.2
- Incremental support for OpenMP 3.0 features in PGC++
- GCC variadic macro extensions
- Auto-generation of DWARF for improved tools interoperability
- Enhanced Fortran 95 DWARF generation
- PGDBG debugger enhancements
- OpenMP 3.0 debugging, including support for TASKs
- OpenMPI debugging on Linux clusters with the PGI CDK
- OpenMPI debugging on MacOS (a version of OpenMPI is now
bundled with PGI Workstation 8.0 for MacOS)
- Debug OpenMP & auto-parallelized multi-core applications
on MacOS
- Numerous reliability and performance enhancements
- PGI Visual Fortran (PVF) now integrated with Microsoft Visual
Studio 2008
- (NEW) New PGI License Setup tool
simplifies license installation and configuration. The PGI
License Setup tool is included with all PGI products for Windows.
- Expanded platform support
- Support for the new Quad-Core AMD Opteron processor
(AMD Shanghai)
- PGI Unified Binary support for the latest AMD and
Intel processors
- Fedora 8, Fedora 9, SuSE 10.3, SLSE 11.0, and Ubuntu 8 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
Complete details are included in the
PGI Workstation
Release Notes, the
PGI Visual Fortran Release Notes and the
PGI CDK Release
Notes.
The current PGI release versions are
|
|
PGI Workstation
and
PGI Server
for Linux
|
|
8.0-6, update April 24, 2009
|
|
|
PGI CDK® for Linux
|
|
8.0-6, update April 24, 2009
|
|
|
PGI Workstation
and
PGI Server
for Windows
|
|
8.0-6, update April 24, 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®
|
|
8.0-6, update April 24, 2009
|
|
|
PGI CDK® for Windows
|
|
8.0-6, update April 24, 2009
|
|
|
PGI Workstation
for Mac OS X
|
|
8.0-6, update April 24, 2009
|
Download the current release
or
download an older release from the PGI archive.
PGI products are available in the
download section.
There is also a link after you log in to your account.
- Fortran 2003 ISO_C_BINDING—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. Other procedures in
ISO_C_BINDING, such as C_ASSOCIATED, are not yet implemented.
- Fortran 2003 Allocatable Regularization—Fortran 2003
allocatable regularization is implemented in PGF95 and 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.
- Fortran 2003 Allocatable Array Assignment—Fortran 2003
allocatable array assignment is available in PGF95. The default is to
use the Fortran 95 assignment semantics; however, the option
-Mallocatable=03 enables the Fortran 2003 assignment semantics.
- Fortran 2003 Asynchronous Input/Output—Fortran 2003
asynchronous I/O is partially implemented in PGF77 and PGF95 compilers.
For external files opened with ASYNCHRONOUS='YES in the OPEN statement,
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 Input/Output—Fortran 2003 Stream
access I/O is implemented.
- -Mallocatable=[95|03]—The -Mallocatable option controls
how the compiler treats assignment of allocatables. The default
behavior is to use Fortran 95 semantics; the 03 option instructs the
compiler to use Fortran 2003 semantics.
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 or 8.000 in it. This is the highest release this license will
support. Currently, you should have a 7.200. To use the newest release,
you will need to update your license keys for 8.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 8.0-1, for example, you will also qualify for 8.0-2, 8.0-6, and
so on when/if they occur.
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.
-
The 8.0 uses a new type of license file, and this will require using the 11.5 version of pgroupd. Make changes to your lciense server, in order for the 8.0 license file to support older releases
as well.
-
The 8.0 release, currently available in the
download section
will now support SUSE 11.0, Red Hat Enterprise Linux 5.2, and Fedora Core 9, for 64-bit on AMD64 or EM64T.
-
The current release supports quad-core AMD Shanghai and the latest multi-core Intel systems.
-
The current release has no limit on the number of threads an OpenMP supports.
-
The current 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 8.0 in a directory named pgi so that
module load pgi/8.0
works as expected.
-
Further information can be found in the 8.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.