Programs for Programmers

Portland compilers (PGI)

Parallel Fortran Compilers and Tools for Microsoft Windows

New PGI 2016

PGI Visual Fortran

PGI Visual Fortran® (PVF®) fully integrates the PGI suite of high-performance 64-bit and 32-bit parallel Fortran compilers and tools from The Portland Group into Microsoft Windows via Microsoft Visual Studio 2010.

High-performance PGI Compilers

PVF features the latest version of PGI's native OpenMP and auto-parallel Fortran compilers. PGI compilers are supported on and can generate fully optimized code for a broad range of popular high-performance computing platforms including 64-bit x64 and 32-bit x86 processor-based systems.

PGI Fortran compilers offer world-class performance and features including both automatic and OpenMP 3.0 parallelization support for optimizing performance on multi-core processors. Advanced compiler technologies found in PVF include vectorization, parallelization, interprocedural analysis, memory hierarchy optimization, cross file function inlining, CPU-specific optimization and more. PVF includes full support for 64-bit addressing, native integrated scalar, and vector SSE code generation—including the latest Intel and AMD AVX extensions.

In addition to its comprehensive support for multi-core processors, PGI Visual Fortran includes PGI's two models for programming GPU accelerators. The PGI Accelerator™ programming model is a high-level implicit model similar to OpenMP for multi-core x64 systems. PGI Accelerator Fortran enables the incremental offloading of compute-intensive loops and code regions from a host CPU to a GPU accelerator using simple compiler directives. PGI Accelerator directives are treated as Fortran comments by other Fortran compilers, so programs incorporating them remain 100% standard-compliant and portable. Developed in cooperation with NVIDIA, CUDA Fortran is an analog to the NVIDIA CUDA C compiler. CUDA Fortran gives expert programmers direct control of all aspects of GPU accelerator programming.

PGI Unified Binary™ technology provides the ability to generate a single executable file with code sequences optimized for multiple AMD, Intel and NVIDIA processors. The PGI Unified Binary technology enables Independent Software Vendors (ISVs) and custom applications developers to leverage the latest processor innovations while treating x64 or x64+GPU as a single platform, maximizing flexibility and eliminating the need to target and optimize for separate processors.

Visual Studio Integration

PVF has features to help with rapid code development. PVF adds syntax coloring, Fortran intrinsics tips and keyword completion to the Visual Studio editor. PVF includes a complete Fortran build environment for Visual Studio with Fortran specific features such as automatic build dependency management. PVF is interoperable with Microsoft Visual C++ so Fortran sub-programs can call C functions and vice versa. PVF includes a number of DVF/CVF compatibility features including full support for the Win32 API. Sample projects illustrate building console applications, Windows applications, DLLs and static libraries, configuring and coding PGI Accelerator and CUDA Fortran GPU applications, and using Visual C++ in tandem with PVF.

VF includes a Fortran language specific custom debug engine. The PVF debug engine supports debugging of single and multi-thread, OpenMP, multi-thread MSMPI and hybrid MSMPI+OpenMP Fortran applications. It enables debugging of 64-bit or 32-bit applications using source code or assembly code, and it provides full access to the registers and hardware state of the processors. The PVF debug engine is interoperable with Visual C++.

PVF can manage the multi-process MPI capabilities built into Microsoft HPC Server 2008. MSMPI capabilities within PVF include Visual Studio property pages for configuring compile-time options, launching applications either locally on a workstation or on a distributed-memory Windows cluster, and debugging of programs running either locally or on a cluster. Both PVF and PVF Server support running and debugging MSMPI programs on your local system. The PGI CDK® Cluster Development Kit® includes a version of PVF with the ability to launch or debug OpenMP and MSMPI applications on a cluster.

A Complete Fortran Development Solution

PGI Visual Fortran includes the Visual Studio 2010 Shell†—a complete stand-alone Windows Fortran development environment. No additional software is required. PVF also supports existing installations of Visual Studio 2010 and/or Visual Studio 2008.

Documentation includes the PVF User's Guide, PVF Reference Manual, PVF Release Notes, PVF Installation Guide and the PGI Fortran Reference for PVF.

A license for PVF is included with all PGI Fortran products for Windows. It may also be purchased separately. License options include single user node-locked (PVF) and multi-user network floating (PVF Server). Compiling 64-bit applications requires a 64-bit operating system.

The IMSL Fortran numerical library for PGI Visual Fortran is also available separately. (please contact us for further information).

Download a free 15 day trial of PGI Visual Fortran now

† The Visual Studio 2010 included with PVF contains PGI compilers only

PGI Workstation

PGI Workstation™ is PGI's single-user scientific and engineering compilers and tools product. PGI Workstation is available in three language versions:

  • PGI Fortran Workstation—Fortran only
  • PGI C/C++ Workstation—C and C++ only
  • PGI Fortran/C/C++ Workstation—combined Fortran and C/C++

PGI Fortran Workstation includes The Portland Group's native parallelizing/optimizing Fortran 2003, FORTRAN 77 and HPF compilers for Linux, Apple Mac OS X and Microsoft Windows workstations. PGI Fortran Workstation provides the features, quality, and reliability necessary for developing and maintaining advanced scientific and technical applications.

PGI C/C++ Workstation includes The Portland Group's native parallelizing/optimizing OpenMP C++ and ANSI C compilers. The C++ compiler closely tracks the proposed ANSI standard and is compatible with cfront versions 2 and 3. All C++ functions are compatible with Fortran and C functions, so you can compose programs from components written in all three languages.

PGI Workstation includes the OpenMP and MPI enabled PGDBG parallel debugger and PGPROF performance profiler that can debug and profile up to eight local MPI processes. PGI Workstation also includes a precompiled MPICH message passing library.

PGI Workstation includes a single user node-locked license for Linux, Mac OS X or Microsoft Windows. Volume packs of five or more single user node-locked licenses are also available. Volume packs are multi-platform; licenses may be mixed by operating system up to the maximum count. PGI Server offers the same features as PGI Workstation but includes a multi-user network floating license.

PGI Workstation for both Mac OS X and Windows consists of command-level versions of the PGI compilers and both command-level and graphical versions of the PGDBG debugger and PGPROF performance profiler. An integrated development environment (IDE) is neither provided nor supported. As a separate product, PGI Visual Fortran fully integrates PGI Fortran compilers and tools into Microsoft Windows using Microsoft Visual Studio. PGI Visual Fortran is included with all PGI Workstation products for Windows containing Fortran.

This product targets 64-bit x64 and 32-bit x86 workstations with one or more single core or multi-core microprocessors. PGI Workstation is available either with or without GPU accelerator support.

About PGI Accelerator Compilers

PGI offers separate products for x64+GPU or x64 only platforms. "PGI Accelerator" products—the x64+GPU platform products—include support for the directive-based PGI Accelerator programming model and from within the PGI Accelerator Fortran compiler, support for CUDA Fortran. PGI Accelerator compilers are supported on all Intel and AMD x64 processor-based systems with CUDA-enabled NVIDIA GPUs running Linux, Mac OS X or Windows.

PGI Accelerator compilers (including CUDA Fortran) are contained in all PGI 2010 or later download packages. Trial license keys or updated permanent license keys are required to enable the accelerator features. Contact us for information on upgrading your current license to a PGI Accelerator license.

PGI Server

Fortran and C/C++ for 64-bit x64 and 32-bit x86 processor-based systems.

Fortran and C/C++ for 64-bit x64 processor-based systems.

PGI Server™ is PGI's multi-user scientific and engineering compiler and tool bundle for multi-user systems and workgroups. PGI Server is available in three language versions:

  • PGI Fortran Server—Fortran only
  • PGI C/C++ Server—C and C++ only
  • PGI Fortran/C/C++ Server—combined Fortran and C/C++

PGI Fortran Server includes The Portland Group's native parallelizing/optimizing FORTRAN 77, Fortran 2003 and HPF compilers for Linux, Apple Mac OS X and Microsoft Windows servers and workgroups.

PGI C/C++ Server includes The Portland Group's native parallelizing/optimizing OpenMP C++ and ANSI C compilers. The C++ compiler closely tracks the proposed ANSI standard and is compatible with cfront versions 2 and 3. All C++ functions are compatible with Fortran and C functions, so you can compose programs from components written in all three languages.

PGI Server includes the PGDBG OpenMP and MPI parallel graphical debugger and the PGPROF OpenMP and MPI parallel graphical performance profiler that can debug and profile up to 16 local MPI processes. PGI Server also includes a precompiled MPICH message passing library.

PGI Server compilers and OpenMP/MPI debugger/profiler allow multiple users to compile, debug and profile parallel Fortran, C or C++ applications on any compatible computer networked to the system on which the PGI compilers are installed (a network-floating license) Licenses are available for Linux, Microsoft Windows or as a multi-platform license (Linux, Mac OS X and Windows). Multi-platform licenses can use any mix of operating systems up to the maximum seat count. PGI Workstation offers most of the same features as PGI Server but includes a single user node-locked license.

PGI Server for both Mac OS X and Windows consists of command-level versions of the PGI compilers and both command-level and graphical versions of the PGDBG debugger and PGPROF performance profiler. An integrated development environment (IDE) is neither provided nor supported. As a separate product, PGI Visual Fortran fully integrates PGI Fortran compilers and tools into Microsoft Windows using Microsoft Visual Studio. PGI Visual Fortran is included with all PGI Server products for Windows containing Fortran.

This product targets 64-bit x64 and 32-bit x86 servers with one or more single core or multi-core microprocessors. PGI Server is available either with or without accelerator support.

PGI 2016 - release Feb 2016

PGI 2016 uses a new license key format.  To use this release, end-users will need to retrieve and install updated license keys.  The new license format allows combining keys from multiple floating licenses into the same file on a single license-server system.  These new license keys will also support earlier releases.

This first version (16.1) of PGI 2016 features:

  • 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 4.3.3.1 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 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 http://www.pgroup.com/resources/docs.htm

PGI 2015 Features and Performance

  • PGI C++ Compiler
    • PGC++ (pgc++) is now default on Linux and OS X. Features include GNU compatible name mangling and language features supporting g++ versions 4.2-4.8.
    • Full support for C++11 on Linux and OS X. New C11 features include:
      • Lambdas
      • Alignof/alignas
      • No return
      • Type generics
      • Thread-local storage (TLS)
      • Long double using x87 80-bit arithmetic
    • OpenACC class methods implicitly compiled for device execution, reference class/struct members allowed in data clauses and compute regions, manual deep copy of classes/structs with enter/exit data pragmas.
    • OpenACC implicit deep copy using CUDA Unified Memory on NVIDIA GPUs (64-bit Linux preview feature available from the download page.)
    • pgc++ is also now supported as an NVCC host compiler on Linux
  • PGI Fortran Compiler
    • Incremental Fortran 2008 features including:
      • SIMPLY CONTIGUOUS
      • ERF/ERFC
      • Inverse hyperbolic functions
      • Bessel functions
      • Storage size intrinsic
    • Support for Fortran automatic arrays in OpenACC routines and CUDA Fortran
    • New tuned CUDA Fortran intrinsics: sum, maxval, minval
    • New CUDA Fortran cuSPARSE module with interfaces to cuSPARSE library
  • PGI Accelerator OpenACC Fortran/C/C++ Compilers
    • Comprehensive OpenACC 2.0 support including:
      • Cache directive
      • Auto loop clause
      • Device_type clause
      • Collapse clause
      • Firstprivate clause
      • Gang(num:) and gang(static:) loop subclauses
      • Reduction in routine clause
      • Use of complex data types in reduction clause
    • Support for OpenACC CUPTI-based profiling with the PGI_ACC_TIME environment variable
    • PGI OpenACC Unified Memory Evaluation Package for Linux
    • New OpenACC SDK examples
  • Updated pre-compiled MPICH, MVAPICH and Open MPI libraries
  • New top-level PrgEnv-pgi environment module
  • New operating system support including Ubuntu 14.10, Fedora 21, CentOS 7, RHEL 7 and OS X Yosemite
  • Updated Free PGI for OS X package

 

PGI 2014

PGI 2014 Feature Highlights:
  • PGI Accelerator OpenACC Fortran/C/C++ compilers
    • Support for CUDA 5.5 and NVIDIA Kepler K40 GPUs
    • Support for AMD Radeon GPUs and APUs
  • New OpenACC Features
    • Procedure calls (Routine directive)
    • Unstructured data lifetimes (Enter_data, Exit_data directives)
    • Host_data directive
    • OpenACC 2.0 API support and more…
  • CUDA Fortran GPU-side debugging
  • SPEC OMP2012 performance improved by 7% over the initial release of PGI 2013, and now 79% faster than GCC 4.8.
  • PGI Visual Fortran fully integrated with Visual Studio 2013
  • Select Fortran 2008 features; improved C++ inlining
  • Updated pre-compiled MPICH, LAPACK and ScaLAPACK libraries
  • Updated and expanded examples and tutorials
  • New operating system support including Ubuntu 13.10, Fedora 20, CentOS 6.4, RHEL 6, Windows 8.1 and OS X Mavericks
Please see the release notes for a complete list of additions. This release also includes 57 user-requested enhancements and fixes.
 
You may download an up-to-date PGI technical presentation covering many of the new features in PGI 2014 as well. PGI will notify customers beginning 29.January that the PGI 2014 version 14.1 software is available for download now.