HOME

TheInfoList



OR:

PGI (formerly The Portland Group, Inc.) was a company that produced a set of commercially available Fortran, C and
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
compilers In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
for
high-performance computing High-performance computing (HPC) uses supercomputers and computer clusters to solve advanced computation problems. Overview HPC integrates systems administration (including network and security knowledge) and parallel programming into a mult ...
systems. On July 29, 2013,
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
acquired The Portland Group, Inc."NVIDIA Pushes Further Into High Performance Computing With Portland Group Acquisition"
NVIDIA. July 29, 2013
As of August 5, 2020, the "
PGI Compilers and Tools PGI may refer to: * Protected geographical indication, one of the three protected denominations for agricultural products of the European Union * Parking guidance and information, signs and other indicators to assist in parking a car * Phosphoglu ...
" technology is a part of the Nvidia HPC SDK product available as a free download from Nvidia.


Company history

The Portland Group was founded as a privately held company in 1989, using compiler technology developed at and acquired from Floating Point Systems Inc. The first products, pipelining Fortran and C compilers, were released in 1991, targeting the
Intel i860 The Intel i860 (also known as 80860) is a RISC microprocessor design introduced by Intel in 1989. It is one of Intel's first attempts at an entirely new, high-end instruction set architecture since the failed Intel iAPX 432 from the beginning of ...
processor. These compilers were used on Intel supercomputers like the iPSC/860, the Touchstone Delta, and the
Paragon Paragon may refer to: Places *Paragon, Indiana, a town in the United States * Paragon, Nebraska, former community in the United States *The Paragon, Bath, a Georgian street in the Walcot area of Bath * The Paragon, Blackheath, London, built by Mi ...
, and were the compilers of choice for the majority of i860-based platforms. In the early 1990s, PGI was deeply involved in the development of
High Performance Fortran High Performance Fortran (HPF) is an extension of Fortran 90 with constructs that support parallel computing, published by the ''High Performance Fortran Forum'' (HPFF). The HPFF was convened and chaired by Ken Kennedy of Rice University. The fi ...
, or HPF, a data parallel language extension to Fortran 90 which provides a portable programming interface for a wide variety of architectures. PGI produced an HPF compiler, called PGHPF, until its last release, version 15.10, on October 28, 2015. In 1996, PGI developed
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introd ...
compilers for the
ASCI Red ASCI Red (also known as ASCI Option Red or TFLOPS) was the first computer built under the Accelerated Strategic Computing Initiative ( ASCI), the supercomputing initiative of the United States government created to help the maintenance of the ...
Supercomputer at
Sandia National Laboratories Sandia National Laboratories (SNL), also known as Sandia, is one of three research and development laboratories of the United States Department of Energy's National Nuclear Security Administration (NNSA). Headquartered in Kirtland Air Force Ba ...
, the first computer system to sustain
teraflop In computing, floating point operations per second (FLOPS, flops or flop/s) is a measure of computer performance, useful in fields of scientific computations that require floating-point calculations. For such cases, it is a more accurate mea ...
performance. In 1997, PGI released x86 compilers for general use on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
workstations. The Portland Group was acquired by
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
on December 19, 2000. During
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
ownership, PGI operated as a wholly owned subsidiary producing high-performance computing (HPC) compilers and tools for Linux, Windows, Mac OS, and
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
ST100 series of embedded
DSP DSP may refer to: Computing * Digital signal processing, the mathematical manipulation of an information signal * Digital signal processor, a microprocessor designed for digital signal processing * Yamaha DSP-1, a proprietary digital signal ...
cores. PGI has been deeply involved in the expansion of the use of
GPGPU General-purpose computing on graphics processing units (GPGPU, or less often GPGP) is the use of a graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditiona ...
s for high-performance computing, developing CUDA Fortran with
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
and PGI Accelerator Fortran and C compilers which use programming directives. PGI and
NVIDIA Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
have both participated in the specification of the new standard
OpenACC OpenACC (for ''open accelerators'') is a programming standard for parallel computing developed by Cray, CAPS, Nvidia and PGI. The standard is designed to simplify parallel programming of heterogeneous CPU/GPU systems. As in OpenMP, the programme ...
directives for GPU computing since it was first announced on November 3, 2011. On May 21, 2013, PGI released a compiler for the
OpenCL OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-progra ...
language on multi-core
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
processors. Nvidia acquired PGI from
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
on July 29, 2013 and offered the PGI technology under the "
PGI Compilers and Tools PGI may refer to: * Protected geographical indication, one of the three protected denominations for agricultural products of the European Union * Parking guidance and information, signs and other indicators to assist in parking a car * Phosphoglu ...
" product line. On August 5, 2020, Nvidia announced that the "
PGI Compilers and Tools PGI may refer to: * Protected geographical indication, one of the three protected denominations for agricultural products of the European Union * Parking guidance and information, signs and other indicators to assist in parking a car * Phosphoglu ...
" product line has evolved into a new NVIDIA HPC SDK product available as a free download from Nvidia. The Nvidia HPC SDK includes rebranded PGI compilers and added features for developing HPC applications.


Product and market history


Compilers

PGI compilers incorporate global optimization, vectorization, software pipelining, and shared-memory parallelization capabilities targeting both Intel and AMD processors. PGI supports the following high-level languages: * Fortran 77 * Fortran 90/95/2003 * Fortran 2008 (partial) * High Performance Fortran (HPF) * ANSI C99 with K&R extensions * ANSI/ISO C++ * CUDA Fortran * OpenCL * OpenACC * OpenMP Below is a list of the PGI compilers that have been rebranded and integrated into the Nvidia HPC SDK: * Fortran: nvfortran (formerly pgfortran) * C: nvc (formerly pgcc) * C++: nvc++ (formerly pgc++)


Programming tools

PGI also provided a parallel debugger, PGDBG, and a performance profiler, PGPROF, both of which supported OpenMP and MPI parallelism on Linux, Windows, and Mac OS. On Windows, the PGI Fortran compiler and debugger was fully integrated into Microsoft
Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including web site, websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platfor ...
as a product called PGI Visual Fortran (PVF). Mac OS support and the PVF product were discontinued after the release of PGI version 19.10 on November 6, 2019. Below is a list of PGI programming tools that have been retired and replaced by other
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
programming tools in the Nvidia HPC SDK: * Debugger: PGDBG (replaced with cuda-gdb) * Profiler: PGPROF (replaced with Nsight)


PGI milestones

* 1989 – PGI founded * 1991 – Pipelining i860 Compilers * 1994 – Parallel i860 Compilers * 1996 –
ASCI Red ASCI Red (also known as ASCI Option Red or TFLOPS) was the first computer built under the Accelerated Strategic Computing Initiative ( ASCI), the supercomputing initiative of the United States government created to help the maintenance of the ...
TFLOPS Compilers * 1997 – Linux/x86 Compilers * 1998 –
OpenMP OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating syst ...
for Linux/x86 * 1999 – SSE/
SIMD Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it shoul ...
Vectorization Vectorization may refer to: Computing * Array programming, a style of computer programming where operations are applied to whole arrays instead of individual elements * Automatic vectorization, a compiler optimization that transforms loops to vec ...
* 1999 - PGI CDK Cluster Development Kit * 2000 -
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
acquires PGI * 2001 –
VLIW Very long instruction word (VLIW) refers to instruction set architectures designed to exploit instruction level parallelism (ILP). Whereas conventional central processing units (CPU, processor) mostly allow programs to specify instructions to exe ...
ST100 Compilers * 2003 – 64-bit Linux/x86 Compilers * 2004 – ASCI Red Storm Compilers * 2005 – PGI Unified Binary Technology * 2006 – PGI Visual Fortran * 2007 – 64-bit
Mac OS Two major famlies of Mac operating systems were developed by Apple Inc. In 1984, Apple debuted the operating system that is now known as the "Classic" Mac OS with its release of the original Macintosh System Software. The system, rebranded "M ...
Compilers * 2008 – PGI Accelerator Compilers * 2009 –
CUDA CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for general purpose processing, an approach ...
Fortran Compiler * 2010 – CUDA X86 Compiler * 2011 –
AVX AVX may refer to: Technology * Advanced Vector Extensions, an instruction set extension in the x86 microprocessor architecture ** AVX2, an expansion of the AVX instruction set ** AVX-512, 512-bit extensions to the 256-bit AVX * AVX Corporation, a m ...
/ FMA Vectorization * 2012 –
OpenACC OpenACC (for ''open accelerators'') is a programming standard for parallel computing developed by Cray, CAPS, Nvidia and PGI. The standard is designed to simplify parallel programming of heterogeneous CPU/GPU systems. As in OpenMP, the programme ...
standard directives for GPU computing * 2013 – PGI
OpenCL OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), field-progra ...
compiler for Multi-core
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
CPUs. Removed after
Nvidia Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
bought PGI. * 2013 - Nvidia acquires PGI from
STMicroelectronics STMicroelectronics N.V. commonly referred as ST or STMicro is a Dutch multinational corporation and technology company of French-Italian origin headquartered in Plan-les-Ouates near Geneva, Switzerland and listed on the French stock market. ST ...
. Nvidia offers the PGI technology under a "
PGI Compilers and Tools PGI may refer to: * Protected geographical indication, one of the three protected denominations for agricultural products of the European Union * Parking guidance and information, signs and other indicators to assist in parking a car * Phosphoglu ...
" product line. * 2015 - Flang, an open source Fortran Front-End for
LLVM LLVM is a set of compiler and toolchain technologies that can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate repre ...
, is released. * 2018 - Development of a new Flang Fortran Front-End, based on the Fortran 2018 standard, begins. * 2020 - Nvidia integrates the PGI technology into a new NVIDIA HPC SDK product. Nvidia retires the "
PGI Compilers and Tools PGI may refer to: * Protected geographical indication, one of the three protected denominations for agricultural products of the European Union * Parking guidance and information, signs and other indicators to assist in parking a car * Phosphoglu ...
" brand name.


See also

* Fortran * C *
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
*
Debugger A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its executi ...
* Profiler * IDE


References


External links

*
NVIDIA HPC SDK website

OpenACC website

PGI Visual Fortran in the Visual Studio Gallery

OpenCL website
{{DEFAULTSORT:Portland Group Compilers C (programming language) compilers C++ compilers Fortran compilers Debuggers Profilers Integrated development environments