Native FORTRAN, C and C++ Compilers for Linux, Mac OS X and Windows
HPC servers are quickly expanding beyond multicore x86 CPUs to OpenPOWER, ARM and GPU accelerators. PGI Fortran, C and C++ compilers and OpenACC are designed to deliver high performance on all of these processors. PGI compilers for x86 and GPUs are available now, including OpenACC parallelization across all cores of a multicore CPU or a GPU. PGI and OpenACC deliver the performance you need today, and the flexibility you need tomorrow. PGI compilers can take you there.
The packaging of PGI licenses has been changed with the release of version PGI 2016 version 16.10. Alfasoft and PGI recommends PGI Professional Edition which includes PGI Fortran, C and C++ compilers and tools for x86-64 and OpenPOWER multicore CPUs and NVIDIA Tesla GPUs, including all OpenACC, OpenMP and CUDA Fortran features. PGI Professional Edition is a perpetual license offered with technical support with frequent PGI updates that include the latest PGI feature enhancements, performance improvements and bug fixes. The PGI Professional Edition is for HPC experts who need cutting edge compilers and support for production software development.
On Intel Haswell CPUs with OpenMP, PGI delivers multicore performance more than 50% faster than the latest GCC compilers. That’s like buying a cluster with 50% more compute nodes. PGI compilers deliver world-class multicore CPU performance and accelerator programming features that can dramatically increase the performance of applications on GPU accelerators.
Accelerate Your Code with OpenACC
Is your application 10s or 100s of thousands of lines of Fortran, C and C++ code? With OpenACC directives, you don’t have to parallelize all of it at once. You can identify hot loops and code regions using the PGPROF profiler, then incrementally parallelize and tune them one by one. OpenACC code remains 100% standard-compliant and portable to other compilers and platforms, and enables parallel processing on CPUs and GPUs using identical source code.
PGI Supports All Major HPC Platforms
HPC servers are quickly expanding beyond multicore x86 CPUs to OpenPOWER, ARM and GPU accelerators. PGI Fortran, C and C++ compilers and OpenACC are designed to deliver high performance on all of these processors. PGI compilers for x86 and GPUs are available now, including OpenACC parallelization across all cores of a multicore CPU or a GPU. The Beta Evaluation Program for PGI compilers on OpenPOWER CPUs coupled to NVIDIA Tesla GPUs is coming this summer. PGI and OpenACC deliver the performance you need today, and the flexibility you need tomorrow. PGI compilers can take you there.
Performance Profiling and Optimization
PGPROF is a powerful and easy-to-use interactive performance profiler for parallel pro- grams written with OpenMP or OpenACC directives, or using CUDA. Use PGPROF to vi- sualize and analyze the performance of your Fortran, C and C++ programs. PGPROF can correlate execution time with procedures, source code and instructions, allowing you to quickly see where and how execution time is spent. Through resource utilization data and compiler feedback information, PGPROF provides features that will help you under- stand why parts of your program have high execution times and how you can modify your source code or compiler options to improve performance. PGPROF is included with all PGI products.
A Fortran-friendly Debugger
PGDBG is a graphical debugger for Fortran, C and C++ that supports of debugging se- rial and parallel programs including MPI, OpenMP and hybrid MPI/OpenMP applications. PGDBG can debug programs on SMP workstations, servers, distributed-memory clusters and hybrid clusters where each node contains multiple multicore x86 processors. PG- DBG allows you to control threads or processes individually or in groups, and allows you to examine state down to the register level. PGDBG is also included with all PGI products.
- PGFORTRAN™ native OpenMP, OpenACC and auto-parallel Fortran 2003 compiler with CUDA extensions
- PGCC® OpenMP, OpenACC and auto-parallel ANSI and K&R C11 compiler
- PGC++® OpenMP, OpenACC and auto-parallel GNU 4.8 g++ compatible C++14 compiler with CUDA-x86 extensions (not available on Windows)
- OpenMP and MPI parallel graphical debugger*
- OpenMP and OpenACC parallel graphical performance profiler
- Full 64-bit support on multi-core OpenPOWER and x86
- Full support for OpenMP 4.5
- Full support for OpenACC 2.6
- PGI Unified Binary™ technology combines into a single executable or object file code optimized for multiple 64-bit x86 processors and NVIDIA GPUs
- Complete uniform development environment across 64-bit x86 processor-based systems running Linux, macOS or Windows and OpenPOWER processor-based systems running Linux
- Comprehensive set of compiler optimizations including one pass interprocedural analysis (IPA)*, interprocedural optimization of libraries*, profile feedback optimization*, dependence analysis and global optimization, function inlining including library functions, vectorization, invariant conditional removal, loop interchange, loop splitting, loop unrolling, loop fusion and more.
- Support for 64-bit integers (-r8/-i8 compilation flags)
- Memory hierarchy and memory allocation optimizations including huge pages support
- Auto-parallelization of loops specifically optimized for multi-core processors
- Concurrent subroutine call support
- Highly tuned Intel MMX and SSE intrinsics library routines (C/C++ only)
- Tuning for non-uniform memory access (NUMA) architectures
- Process/CPU affinity support in SMP/OpenMP applications
- Support for creating shared objects on Linux, dynamic libraries on macOS and DLLs on Windows
- Integrated cpp pre-processing
- Cray/DEC/IBM extensions (including Cray POINTERs & DEC STRUCTURES/UNIONS); support for SGI-compatible DOACROSS in Fortran
- Full support for Common Compiler Feedback Format compiler optimization listings
- User modules support simplifies switching between multiple compiler environments/versions
- C/C++ plug-in for Eclipse
- Bundled precompiled libraries including ScaLAPACK (Linux & macOS), Open MPI (Linux only), MPICH (macOS) and MS-MPI library (Windows only)
- Includes optimized 64-bit OpenBLAS (LAPACK/BLAS) math libraries
- Supports multi-threaded execution with Intel Math Kernel Libraries (MKL) 10.1 and later on x86 processors
- UNIX-compatible build/edit environment for Windows, including the BASH shell, vi editor, make, tar, gzip, sed, grep, awk, and over 100 other shell commands!
- Interoperable with TotalView* (Linux only) and Allinea DDT*.
- Interoperable with gcc, g77, g++ and gdb
- Unconditional 30 day money back guarantee
Features marked with an asterisk (*) are not currectly supported on OpenPOWER.
A summary of new features in each version of the PGI 2020.1 release.
Select new Features:
• cuTENSOR support added for the new cuTENSOR library, including automatic mapping of Fortran transformational intrinsics operating on device data to cuTENSOR calls.
• New Heterogeneous OpenMP Runtime as the new default for Linux/x86-64, and is fully KMPC-compatible.
• AMD Rome CPUs support – the compilers auto-detect Rome as the default target CPU when installed and used on Rome systems.
• OS support added on Linux/x86-64 for CentOS/RHEL 7.7, 8.0, 8.1; Fedora 30; openSUSE Leap 15.1; SLES 15 SP1; Ubuntu 19.04
• Performance! – improved performance on various CPUs and NVIDIA GPUs
Select changes and updates
• LLVM 9.0 – Upgraded Linux/x86-64 compilers to use LLVM 9.0 as the default code generator. LLVM 8.0 and the legacy PGI code generator are still available via command-line options.
• CUDA 10.2 support added; CUDA 9.2 support dropped, CUDA 10.0 supported but no longer included.
A summary of new features in each version of the PGI 2019 releases.
Complete details on the new features listed here are included in the PGI Release Notes for x86-64, PGI Installation Guide and Release Notes for OpenPOWER, and the PGI Visual Fortran® Release Notes.
PGI 2019 version 19.10 (released November 6, 2019)
- PGI Community Edition release.
- CUDA Fortran
- Implemented support for attributes(host,device) functions in CUDA Fortran.
- Provided CUDA Fortran interfaces to activemask, all_sync, any_sync, ballot_sync, match_any_sync, match_all_sync, and syncwarp routines.
- Fortran Compilers
- Implemented Fortran 2008 BLOCK construct.
- Added partial support for assumed rank arrays and SIZE intrinsic.
- Added EXECUTE_COMMAND_LINE intrinsic subroutine.
- Added support for CentOS 8.
- Removed Java Runtime environment from all packages.
- Plus 15 user-requested enhancements and fixes.
PGI 2019 version 19.9 (released September 30, 2019)
- OpenACC New Features and Enhancements
- Tighten up restrictions on the use of embedded loops in accordance with the OpenACC specification.
- Upgraded bundled CUDA to 10.1 update 2.
- Plus 22 user-requested enhancements and fixes.
PGI 2019 version 19.7 (released July 31, 2019)
- OpenACC New Features and Enhancements
- Error message now issued for OpenACC data, enter data, and exit data constructs with no data clauses.
- Changed conditions under which kernels loops containing pointer references can be parallelized.
- Changed how the compilers treat aggregate members used in loop bounds or loop limits to follow latest OpenACC spec.
- Improved support for OpenACC host_data use_device constructs.
- Added support for capture of the *this pointer by value to the OpenACC C++ compiler.
- Upgraded bundled CUDA to 10.1 update 1.
- CUDA Fortran
- Added support for half precision floating point real(2) as a first class data type.
- Improved host to device data transfer performance using assignment statements for array sections that can be mapped onto cudaMemcpy2D.
- Fortran Compiler
- Added support for the Fortran 2008 g0 editor descriptor.
- Added support for multiple sourced allocations via the SOURCE argument.
- Extended MAXLOC and MINLOC intrinsics to accept the optional BACK argument.
- Implemented NORM2 intrinsic.
- DWARF debug information improved for allocatable arrays within modules.
- New optimized atan and atan2 intrinsics for x86 processors.
- Deprecations and Eliminations
- PGI Debugger deprecated and will be dropped at the end of 2019.
- Plus 47 user-requested enhancements and fixes.
PGI 2019 version 19.5 (released May 29, 2019)
- No new features or capabilities added; bug fixes only.
PGI 2019 version 19.4 (released April 30, 2019)
- PGI Community Edition release. See the PGI 2019 New Features list for a summary what's new.
- PCAST Enhancements — Added support for C++, removed -acc compilation dependency when using pgi_compare directives, added several general performance optimizations and enhanced documentation.
- Plus 20 user-requested enhancements and fixes
PGI 2019 version 19.3 (released March 27, 2019)
- CUDA Toolkit — Added full support for CUDA 10.1; use the cuda10.1 sub-option with the -ta=tesla or -Mcuda compiler options to compile and link with the integrated CUDA 10.1 toolkit components.
- Plus 13 user-requested enhancements and fixes
PGI 2019 version 19.1 (released January 31, 2019)
- NVIDIA GPU Tensor Core support in CUDA Fortran
- LLVM 7.0 back-end now default on Linux x86-64
- Full support for the C++17 language standard
- PCAST C and Fortran directives
- printf() support in C and C++ OpenACC compute regions
- Support for Turing architecture GPUs
- Improved performance of many AVX2 intrinsic functions
- Vectorization enhancements
- GCC 8.1 interoperability
- Support for the latest operating systems including macOS Mojave
- Updated license management software on x86-64 platforms
- Plus 28 user-requested enhancements and fixes
Host Processor: 64-bit OpenPOWER, 64-bit x86 (including AMD64 and Intel 64) processor-based workstation or server with one or more single core or multi-core microprocessors.
Accelerator (optional): NVIDIA CUDA-enabled GPU with compute capability 2.0 or later.
- OpenPOWER Linux: Ubuntu 14.04, 16.04, Red Hat Enterprise Linux 7.3, 7.4, and 7.4 for IBM Power LE (POWER9).
- x86-64 Linux: CentOS 5 or newer, OpenSuSE 11 or newer including OpenSuSE Leap 42.2, SUSE Linux Enterprise Server (SLES) 11 or newer, Red Hat Enterprise Linux 5 or newer, Fedora Core 6 or newer, or Ubuntu 12.04 or newer. Interoperable with most versions of Linux using kernel revision 2.6 and glibc 2.5 or newer.
- 64-bit Apple macOS version 10.10 Yosemite or newer and Xcode 6.3 or newer.
- 64-bit Microsoft Windows 10/8.1/8/7 and Server 2016/2012/2008 R2.
Please Note: The last version of PGI products to support 32-bit development was 16.10.
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.
PGI Support includes the following:
- Ongoing technical support by electronic mail. Support requests may be sent by fax to +1-503-682-2637, or online using the PGI technical support request form.
- Release updates for licensed product(s) at no additional cost, except for any administrative fee that may apply.
- Full license fee credits on product upgrades, except for any administrative fee that may apply. "Product upgrades" refer to exchanging one product license for a more expensive product license, and is not the same as a version or "Release" upgrade referenced above.
- Full license fee credits on user-count upgrades, except for any administrative fee that may apply.
- Support subscriber-only forums and other services available at www.pgroup.com
- Support subscriber-only special offers, discounts and promotions.
PGI is offered in three different editions:
PGI Community Edition – PGIs unsupported version of the PGI compilers including essentially all features of our previous PGI Accelerator Fortran/C/C++ Workstation product, but with a license-to-use that is limited to 1 year from the date of release. CE is now available for Linux, OpenPOWER and Mac. A Windows version may be available at a later date.
PGI Professional Edition – PGIs recommended compiler for professional users. A perpetual license to current and all previous releases of the PGI Fortran, C and C++ compilers and tools for multicore CPUs and NVIDIA Tesla GPUs, including all OpenACC, OpenMP and CUDA Fortran features. Enables development of performance-portable HPC applications with uniform source code across the most widely used parallel processors and systems. The PGI Professional Edition is for HPC experts who need cutting edge compilers and support for production software development.
PGI Enterprise – For large organizations that want a site-wide license and Premier Services, PGI also offer this annual, unlimited seat-count license.
A perpetual license to current and all previous releases of the PGI Fortran, C and C++ compilers and tools for multicore CPUs and NVIDIA Tesla GPUs, including all OpenACC, OpenMP and CUDA Fortran features. Enables development of performance-portable HPC applications with uniform source code across the most widely used parallel processors and systems.
Offers technical support with frequent PGI updates that include the latest PGI feature enhancements, performance improvements and bug fixes. The PGI Professional Edition is for HPC experts who need cutting edge compilers and support for production software development.
The price for an Academic license of PGI Professional Edition is discounted with 50% compared to a commercial license.
All PGI Professional Edition licenses are permanent and perpetual—they never stop working with the PGI release version for which they were created. FlexNet-managed licenses also work with all earlier PGI release versions back to 7.2. Except as noted below, all PGI permanent licenses are specific to individual PGI products running on a single operating system (e.g. PGI Fortran/C/C++ Workstation for Linux).
Node-Locked licenses restrict use to a particular host and one user at a time. They are very useful when a number of users want to share a PGI product. Node-locked licenses for x86 systems require the license service (lmgrd) run on the same machine the compilers are run. Executables can run on any other compatible machine. Node-locked licenses for OpenPOWER use a proprietary licensing scheme.
Floating licenses allow the license service to run on a machine different from the machines running the compilers. Floating licenses allow a mix of system types running different operating systems. The maximum number of concurrent users is determined by counting usage across all of the systems running the PGI compilers. Floating licenses usually require only a single license server. Users with floating licenses can "borrow" seats for out-of-office compiling.