PGI Compilers & Tools

World-class CPU Performance, GPU Acceleration

PGI compilers deliver the performance you need on CPUs, with OpenACC and CUDA Fortran for HPC applications development on GPU-accelerated systems. OpenACC and CUDA programs can run several times faster on a single Tesla V100 GPU compared to all the cores of a dual-socket server, and interoperate with MPI and OpenMP to deliver the full power of today’s multi-GPU servers.

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 PGI 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.

Performance Portability Delivered

CloverLeaf, a Lagrangian-Eulerian explicit hydrodynamics mini-application, is a small (4,500 line) lightweight application that is representative of a code used at the United Kingdom’s Atomic Weapons Establishment (AWE). Using OpenACC, performance on an NVIDIA V100 GPU is over 7 times faster than a dual-socket 40-core Intel Broadwell CPU, running the fully optimized code on the bm32 data set. It scales to over 15 times faster on 4xV100s using MPI+OpenACC. The optimizations to the source code made during porting to the GPU using OpenACC improved the performance of the CPU code by more than 50%.

Will your compiler take you there?

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, OpenPOWER 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.

Performance Profiling and Optimization

The PGI Profiler is a powerful and easy-to-use interactive performance profiler for parallel programs written with OpenMP or OpenACC directives, or using CUDA. Use it to visualize and analyze the performance of your Fortran, C and C++ programs. The PGI Profiler 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, the PGI Profiler provides features that will help you understand why parts of your program have high execution times and how you can modify your source code or compiler options to improve performance. The PGI Profiler is included with all PGI products.

A Fortran-friendly Debugger

The PGI graphical debugger for Fortran, C and C++ supports of debugging serial and parallel programs including MPI, OpenMP and hybrid MPI/OpenMP applications. The PGI Debugger can debug programs on SMP workstations, servers, distributed-memory clusters and hybrid clusters where each node contains multiple multicore x86 processors. It allows you to control threads or processes individually or in groups, and allows you to examine state down to the register level. The PGI Debugger is also included with all PGI products with all PGI products for x86-64 platforms.

What people are saying about PGI

“Porting HPC applications from one platform to another is one of the most significant costs in the adoption of breakthrough hardware technologies. OpenACC for multicore x86 CPUs provides continuity and code portability from existing CPU-only and GPU- enabled applications from machines like Titan to all of DOE’s upcoming major systems as well as portability among those systems.”

Note: Effective with the PGI 2016 release, the PGI C++ compiler is no longer supported on Microsoft Windows.

All PGI products for x86-64 systems include the OpenMP and MPI enabled parallel PGI Debugger that can debug up to 16 local MPI processes. All PGI products also include the OpenMP and OpenACC parallel PGI Performance Profiler. All PGI products also include a precompiled MPI message passing library and precompiled OpenBLAS library.

PGI products for both macOS and Windows consists of command-level versions of the PGI compilers and both command-level and graphical versions of the PGI Debugger and PGI Performance profiler. An integrated development environment (IDE) is neither provided nor supported.

Which releases of PGI compilers work with each Linux distribution on x86?

Each release of Linux changes many things, primarily the glibc libraries, the locations of files and headers for gcc, and changes to how executables are built. As a result, the PGI compiler install process has to adjust with each release, and the code shipped needs to be updated or expanded. Most compiler releases will be compatible with previous Linux versions existing at that time, and we make an effort to be compatible with future releases, by trying to use the most current versions of libraries and headers from the installation for unfamiliar releases.

Here are the PGI compiler releases and the distributions of Linux x86-64 they work with. Note, as is commonly done, we only update the most current release for a new distribution of Linux. The Linux distribtuion involved comes with a specific glibc and gcc version. If you use the versions that are bundled as part of the development tools for that Linux release, and they match another supported release below, then your installation will probably succeed. Not all versions of gcc/glibc can work with any Linux release/kernel, however, so any custom combination of Linux with gcc tools and libs should not be too different from the bundled release.

Here is a table of the Releases available and how to bring them up to their most up-to-date version. Be sure to add any patches after the latest version is downloaded and installed.

*Note on Windows 7 compatibility: FLEXlm versions delivered with PGI 2010 and PGI 2011 releases were compatible with only the 32-bit versions of Windows 7. PGI 2012 and newer releases are compatible with both the 32-bit and the 64-bit versions of Windows 7.

Which releases of PGI Visual Fortran compilers work with each Windows version?

Versions are added as they become available.

Note:PVF is NOT compatible with Visual Studio Express. PVF will not install or run successfully on systems with VS Express present regardless of the VS Express version or PVF version.

Can I install PVF on a platform with Visual Studio Express installed?

No. PVF will not install and run successfully on a system with Visual Studio Express installed. Even installing PVF with the VS 2010 shell onto a system with VS Express 2008 already installed will not work. You must first remove VS Express before installing PVF.

Which releases of PGI compilers work with each macOS version on Intel-based Macs?

PGI products for macOS. Versions are added as they become available. Note: PGI compilers and tools are supported only on Intel processor-based Macintosh computers.

How do I uninstall PGI software?

To remove a PGI installation from a Linux platform, simply remove the $PGI directory.

% cd /
% chmod -R a+w $PGI; rm -rf $PGI

To remove a particular release from a $PGI directory where multiple PGI releases are installed, go down another directory level, and remove the desired installation directory. This example removes the 64-bit 16.5 installation.

To remove a PGI installation from a macOS system, simply remove the /opt/pgi directory.

% cd /opt
% rm -rf pgi

To remove Free PGI for OS X, simply drag the icon from the Applications folder to the Trash.

To remove a PGI installation from a Windows platform, use the Control Panel-> Programs and Features facility, and uninstall the PGI product or version in question.

A no-cost license to a recent release of the 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. The PGI Community Edition enables development of performance-portable HPC applications with uniform source code across the most widely used parallel processors and systems.

Includes all features of the PGI Community Edition, plus a perpetual license to current and all previous releases of the PGI compilers and tools. 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.