PGI Compiler

PGI 簡介:

美國PGI公司在Vincent J. Schuster帶領下開發出不少出色的高速Fortran編譯軟體,其中還包括i860,Spare ,Mentor Graphics 等硬體。PGI編譯軟體是Linux玩家大力推薦的Fortran編譯軟體。Linux 專業雜誌測試的Fortran 軟體中,PGI Fortran 編譯軟體所產生執行碼的平均執行速度優於其他編譯軟體高達40%以上。 PGI公司的編譯軟體結合最佳化、向量化、pipeline 模式及Shared-memory 等技術。提供開發人員完整的平行的平行語言發展環境。適用平台涵蓋Intel、AMD 架構及Intel i860,Spare ,Fujitsu microVP 等,適用於F77,C/C++,F90 及HPF 等語言。


  • 軟體工具內建OpenMP偵錯及性能分析工具。
  • 適用雙CPU或多CPU主機版。
  • 支援完整的HPF語言。
  • 支援OpenMP F77/F90語言。
  • 支援OpenMP 平行化C/C++語言及標準K&R ANSI C/C++語言。
  • 相容於Cray/DEC/IBM等機器之編譯軟體。
  • 增加F95相容性。
  • 視窗環境的文字編輯軟體相容於UNIX編輯軟體。
  • 支援2GB以上容量的檔案格式。
  • 採用64位元整數格式。
  • 提供完整的叢集系統發展環境。

當前版本 : 18.10

更新重點 :

  • 支援Tesla V100 GPU - PGI OpenACC 和 CUDA Fortran 即刻起可支援最新的Nvidia Volta GV100 GPU 。
  • OpenACC支持CUDA統一記憶體。
  • OpenMP4.5支持多核心CPU。
  • Automatic Deep Copy of Fortran Derived Types。
  • c++功能強化 - The PGI 17.7 C++ compiler includes incremental C++17 features, and is supported as a CUDA 9.0 NVCC host compiler. It delivers an average 20% performance improvement on the LCALS loops benchmarks。
  • Use C++14 Lambdas with Capture in OpenACC Regions。
  • Interoperability with the cuSOLVER Library。
  • New Profiling features for CUDA Unified Memory and OpenACC。
  • Added support for intrinsics SCALE, MAXVAL, MINVAL, MAXLOC and MINLOC in initializers。

詳細資訊可參考 - 連結

PGI Compilers

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

PGI Community Edition vs PGI Professional Edition

Feature PGI Professional Edition PGI Community Edition
License Type Perpetual 1 year for each release
Archive Release Access yes
User Forums yes yes
E-mail Support yes
Restricted Content Access yes With registration
Releases per Year 6–9 1–2
Optional Premier Service Available yes

Technical Features :

  • 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)
  • PGDBG® OpenMP and MPI parallel graphical debugger*
  • PGPROF® OpenMP and OpenACC parallel graphical performance profiler
  • Full 64-bit support on multi-core OpenPOWER and x86
  • Full support for OpenMP 3.1 on up to 256 cores
  • Comprehensive OpenACC 2.5 support
  • PGI Unified Binary™ technology combines into a single executable or object file code optimized for multiple x86 processors, NVIDIA GPUs or AMD GPUs
  • Complete uniform development environment across x86 processor-based systems running Linux, OS X 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) and 32-bit LAPACK math libraries
  • Supports multi-threaded execution with Intel Math Kernel Libraries (MKL) 10.1 and later on x86
  • 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