Note: PGI compiler are now integrated in NVIDIA HPC SDK. PGI installation won't be updated.
PGI Workstation™ is PGI's single-user compiler bundle. PGI Workstation is available in three language configurations:
- 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 native parallelizing/optimizing Fortran 2003 compiler with support for OpenMP 3.1 directive-based parallel programming for multi-core CPUs, and OpenACC 2.0 directive-based parallel programming for accelerators. The PGI Fortran compiler includes CUDA Fortran extensions targeting NVIDIA CUDA-enabled GPUs.
PGI C/C++ Workstation includes the native parallelizing/optimizing ANSI C11 and GNU-compatible C++11 compilers. Both compilers implement full OpenMP 3.1 pragma-based parallel programming for multi-core CPUs, and OpenACC 2.0 pragma-based parallel programming for accelerators. The PGI C++ compiler is substantially compatible with GNU GCC 4.8 g++ and includes full support for NVIDIA CUDA C extensions targeting multi-core CPUs as a compute device (CUDA-x86). All C++ functions are compatible with PGI-compiled Fortran and C functions, so you can compose programs from components written in all three languages.
Information
- Source: http://www.pgroup.com/
- License: commercial
- Code: Fortran, C/C++
- Path: /opt/pgi/<year>
- Platforms: Linux (no licenses for other platforms)
- Licensing: concurrent.
- License server: zitlic01.desy.de only accessible from within the DESY network
- Downloads: @DESY or /afs/desy.de/products/source/pgi.
- Downloads: @PGROUP (admins only)
Using PGI compilers
Some PGI compile commands are available as versioned scripts in /usr/local/bin. Compilers can be invoked as (depending on available versions)
[elx]% /usr/local/bin/pgf90_2011 [elx]% /usr/local/bin/pgcc_2015
To use unversioned commands, the environment for PGI Compilers can be initialized with the module command:
[elx]% module avail [elx]% module load pgi # load the current version [elx]% pgf90 --version pgf90 15.4-0 64-bit target on x86-64 Linux -tp sandybridge The Portland Group - PGI Compilers and Tools Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. [elx]% module load pgi/2014 # load a specific version [elx]% pgcc --version pgcc 14.10-0 64-bit target on x86-64 Linux -tp sandybridge The Portland Group - PGI Compilers and Tools Copyright (c) 2014, NVIDIA CORPORATION. All rights reserved.
Please note: unlike most other compilers, the PGI compilers will optimize the executable for the local hardware (sandybridge in the example above) - unless explicitly specified. This might be particularly confusing on virtual machines occasionally reporting the wrong CPU type. To produce a generic executable use flags like
[elx]% CFLAGS="-tp=x64" FFLAGS="-tp=x64" CC=pgcc_2015 F77=pgf95_2015 CXX=pgcc_2015 CCC=pgCC_2015 ./configure
Installing PGI compilers
Installer for pgi compilers are available from the download folder or /afs/desy.de/products/source/pgi.