The Portland Group

Last updated
PGI
Company type Wholly owned subsidiary
Industry Software, programming tools
Founded Wilsonville, Oregon, United States (1989)
FounderVince Schuster
Larry Meadows
Bob Toelle
Glenn Denison
Headquarters,
Area served
Worldwide
Products Compilers
Debuggers
Profilers
IDEs
Website pgroup.com

PGI (formerly The Portland Group, Inc.) was a company that produced a set of commercially available Fortran, C and C++ compilers for high-performance computing systems. On July 29, 2013, Nvidia acquired The Portland Group, Inc. [1] [2] As of August 5, 2020, the "PGI Compilers and Tools" technology is a part of the Nvidia HPC SDK product available as a free download from Nvidia. [3] [4]

Contents

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 processor. These compilers were used on Intel supercomputers like the iPSC/860, the Touchstone Delta, and the Paragon, and were the compilers of choice for the majority of i860-based platforms. [5]

In the early 1990s, PGI was deeply involved in the development of High Performance Fortran, 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. [6]

In 1996, PGI developed x86 compilers for the ASCI Red Supercomputer at Sandia National Laboratories, [7] the first computer system to sustain teraflop performance. In 1997, PGI released x86 compilers for general use on Linux workstations. [8]

The Portland Group was acquired by STMicroelectronics on December 19, 2000. During STMicroelectronics ownership, PGI operated as a wholly owned subsidiary producing high-performance computing (HPC) compilers and tools for Linux, Windows, Mac OS, and STMicroelectronics ST100 series of embedded DSP cores. [9] [10]

PGI has been deeply involved in the expansion of the use of GPGPUs for high-performance computing, developing CUDA Fortran [11] [12] with Nvidia and PGI Accelerator Fortran and C compilers [13] which use programming directives. PGI and NVIDIA have both participated in the specification of the new standard OpenACC directives for GPU computing since it was first announced on November 3, 2011. [14] [15] On May 21, 2013, PGI released a compiler for the OpenCL language on multi-core ARM processors. [16]

Nvidia acquired PGI from STMicroelectronics on July 29, 2013 [1] [2] and offered the PGI technology under the "PGI Compilers and Tools" product line. [17] On August 5, 2020, Nvidia announced that the "PGI Compilers and Tools" 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. [3] [4]

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:

Below is a list of the PGI compilers that have been rebranded and integrated into the Nvidia HPC SDK: [3]

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 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. [18]

Below is a list of PGI programming tools that have been retired and replaced by other Nvidia programming tools in the Nvidia HPC SDK: [3]

PGI milestones

See also

Related Research Articles

Cray Inc., a subsidiary of Hewlett Packard Enterprise, is an American supercomputer manufacturer headquartered in Seattle, Washington. It also manufactures systems for data storage and analytics. Several Cray supercomputer systems are listed in the TOP500, which ranks the most powerful supercomputers in the world.

<span class="mw-page-title-main">LLVM</span> Compiler backend for multiple programming languages

LLVM is a set of compiler and toolchain technologies that can be used to develop a frontend for any programming language and a backend for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes. The name LLVM originally stood for Low Level Virtual Machine, though the project has expanded and the name is no longer officially an initialism.

<span class="mw-page-title-main">PhysX</span> Realtime physics engine software

PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite.

<span class="mw-page-title-main">Watcom C/C++</span>

Watcom C/C++ is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortran programming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, and Windows, Linux operating systems, which are based upon x86, IA-32, x86-64 compatible processors.

<span class="mw-page-title-main">Chapel (programming language)</span> Parallel programming language

Chapel, the Cascade High Productivity Language, is a parallel programming language that was developed by Cray, and later by Hewlett Packard Enterprise which acquired Cray. It was being developed as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program, which had the goal of increasing supercomputer productivity by 2010. It is being developed as an open source project, under version 2 of the Apache license.

<span class="mw-page-title-main">CUDA</span> Parallel computing platform and programming model

CUDA is a proprietary and closed-source 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 called general-purpose computing on GPUs (GPGPU). CUDA is a software layer that gives direct access to the GPU's virtual instruction set and parallel computational elements for the execution of compute kernels.

Intel oneAPI DPC++/C++ Compiler and Intel C++ Compiler Classic are Intel’s C, C++, SYCL, and Data Parallel C++ (DPC++) compilers for Intel processor-based systems, available for Windows, Linux, and macOS operating systems.

Clang is a compiler front end for the C, C++, Objective-C, and Objective-C++ programming languages, as well as the OpenMP, OpenCL, RenderScript, CUDA, SYCL, and HIP frameworks. It acts as a drop-in replacement for the GNU Compiler Collection (GCC), supporting most of its compilation flags and unofficial language extensions. It includes a static analyzer, and several code analysis tools.

Intel Fortran Compiler, as part of Intel OneAPI HPC toolkit, is a group of Fortran compilers from Intel for Windows, macOS, and Linux.

<span class="mw-page-title-main">OpenCL</span> Open standard for programming heterogenous computing systems, such as CPUs or GPUs

OpenCL 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-programmable gate arrays (FPGAs) and other processors or hardware accelerators. OpenCL specifies programming languages for programming these devices and application programming interfaces (APIs) to control the platform and execute programs on the compute devices. OpenCL provides a standard interface for parallel computing using task- and data-based parallelism.

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

<span class="mw-page-title-main">Numba</span> Open-source JIT compiler

Numba is an open-source JIT compiler that translates a subset of Python and NumPy into fast machine code using LLVM, via the llvmlite Python package. It offers a range of options for parallelising Python code for CPUs and GPUs, often with only minor code changes.

Absoft Fortran Compilers are set of Fortran compilers for Microsoft Windows, Apple Macintosh, and Linux produced by Absoft Corporation. The compilers are source code compatible across platforms.

<span class="mw-page-title-main">MulticoreWare</span>

MulticoreWare Inc is a software development company, offering products and services related to HEVC video compression, machine learning, compilers for heterogeneous computing, and software performance optimization services. MulticoreWare's customers include AMD, Microsoft, Google, Qualcomm and Telestream. The company was founded in 2009 and has offices in the United States, China and India.

<span class="mw-page-title-main">GPUOpen</span> Middleware software suite

GPUOpen is a middleware software suite originally developed by AMD's Radeon Technologies Group that offers advanced visual effects for computer games. It was released in 2016. GPUOpen serves as an alternative to, and a direct competitor of Nvidia GameWorks. GPUOpen is similar to GameWorks in that it encompasses several different graphics technologies as its main components that were previously independent and separate from one another. However, GPUOpen is partially open source software, unlike GameWorks which is proprietary and closed.

<span class="mw-page-title-main">SYCL</span> Higher-level programming standard for heterogeneous computing

SYCL is a higher-level programming model to improve programming productivity on various hardware accelerators. It is a single-source embedded domain-specific language (eDSL) based on pure C++17. It is a standard developed by Khronos Group, announced in March 2014.

Nvidia NVDEC is a feature in its graphics cards that performs video decoding, offloading this compute-intensive task from the CPU.

<span class="mw-page-title-main">ROCm</span> Parallel computing platform: GPGPU libraries and application programming interface

ROCm is an Advanced Micro Devices (AMD) software stack for graphics processing unit (GPU) programming. ROCm spans several domains: general-purpose computing on graphics processing units (GPGPU), high performance computing (HPC), heterogeneous computing. It offers several programming models: HIP, OpenMP/Message Passing Interface (MPI), OpenCL.

oneAPI (compute acceleration) Open standard for parallel computing

oneAPI is an open standard, adopted by Intel, for a unified application programming interface (API) intended to be used across different computing accelerator (coprocessor) architectures, including GPUs, AI accelerators and field-programmable gate arrays. It is intended to eliminate the need for developers to maintain separate code bases, multiple programming languages, tools, and workflows for each architecture.

References

  1. 1 2 "NVIDIA Pushes Further Into High Performance Computing With Portland Group Acquisition". NVIDIA. July 29, 2013
  2. 1 2 Timothy Prickett Morgan (30 July 2013). "Nvidia buys Portland Group for compiler smarts". The Register.
  3. 1 2 3 4 "NVIDIA HPC SDK Now Available For Free Download". 5 August 2020. Retrieved 5 August 2020.
  4. 1 2 "The New NVIDIA HPC SDK". 5 August 2020. Retrieved 5 August 2020.
  5. "Corporate Information for The Portland Group, Inc. (PGI)". 28 June 1997. Archived from the original on 1997-06-28. Retrieved 6 August 2020.
  6. "PGI 2015 Release Archive". 2015. Retrieved 6 August 2020.
  7. "The ASCI Option Red Supercomputer". Intel Corporation. May 1996. Archived from the original on May 28, 2010. Retrieved 25 March 2011.
  8. "The Portland Group (PGI) website". March 31, 1997. Archived from the original on March 31, 1997. Retrieved 6 August 2020.
  9. "STMicroelectronics Announces Acquisition of Portland Group Inc". STMicroelectronics. 19 December 2000. Archived from the original on 20 January 2016. Retrieved 6 August 2020.
  10. "About The Portland Group". 26 March 2012. Archived from the original on 2012-03-26. Retrieved 6 August 2020.
  11. "PGI and NVIDIA Team To Deliver CUDA Fortran Compiler". The Portland Group, Inc. 23 June 2009. Retrieved 29 June 2011.
  12. "PGI CUDA Fortran Now Available from The Portland Group". The Portland Group, Inc. 17 November 2009. Retrieved 29 June 2011.
  13. "New PGI 9.0 Compilers Simplify x64+GPU Programming". The Portland Group, Inc. 23 June 2009. Retrieved 29 June 2011.
  14. "SC'11 OpenACC Joint Press Release". 3 November 2011. Archived from the original on 2012-03-25. Retrieved 6 August 2020.
  15. "About OpenACC" . Retrieved 6 August 2020.
  16. 1 2 "PGI OpenCL Compiler For ARM". 21 May 2013. Retrieved 6 August 2020.
  17. "PGI is now a part of NVIDIA". NVIDIA. 7 August 2013. Archived from the original on 2013-08-07. Retrieved 5 August 2020.
  18. "PGI 2019 Release Archive". The Portland Group, Inc. 6 November 2019. Retrieved 5 August 2020.
  19. Jack Rubinger (15 November 1999). "PGI - OSC News Announcement". Linux Weekly News. Retrieved 6 August 2020.
  20. "Nvidia Announces CUDA Fortran Compiler Beta". eWeek. 29 Sep 2009. Retrieved 29 June 2011.
  21. "NNSA, national labs team with Nvidia to develop open-source Fortran compiler technology". 13 November 2015. Retrieved 5 August 2020.
  22. "Flang GitHub". GitHub . Retrieved 5 August 2020.
  23. "F18: The New Fortran Front-end". GitHub . 17 April 2018. Retrieved 5 August 2020.
  24. "llvm-project/flang GitHub". GitHub . Retrieved 5 August 2020.