PGI compiler
Encyclopedia
The Portland Group, Inc. or PGI is a company producing a set of commercially available Fortran
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

, C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 compilers for high-performance computing
High-performance computing
High-performance computing uses supercomputers and computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflops-region are counted as HPC-computers.-Overview:...

 systems. The Portland Group is a wholly owned subsidiary of STMicroelectronics
STMicroelectronics
STMicroelectronics is an Italian-French electronics and semiconductor manufacturer headquartered in Geneva, Switzerland.While STMicroelectronics corporate headquarters and the headquarters for EMEA region are based in Geneva, the holding company, STMicroelectronics N.V. is registered in Amsterdam,...

.

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
Floating Point Systems
Floating Point Systems Inc. was a Beaverton, Oregon vendor of minisupercomputers. The company was founded in 1970 by former Tektronix engineer Norm Winningstad....

, Inc. The first products, pipelining Fortran and C compilers, were released in 1991, targeting the Intel i860
Intel i860
The Intel i860 was a RISC microprocessor from Intel, first released in 1989. The i860 was one of Intel's first attempts at an entirely new, high-end instruction set since the failed Intel i432 from the 1980s...

 processor. These compilers were used on Intel supercomputers like the iPSC/860
Intel iPSC/860
The Intel iPSC/860 was a massively parallel supercomputer launched by Intel in 1990. It followed the Intel iPSC/2 and was superseded by the Intel Paragon. The iPSC/860 consisted of up to 128 processing elements connected in a hypercube topology, each element consisting of an Intel i860 or Intel 386...

, the Touchstone Delta, and the Paragon
Intel Paragon
The Intel Paragon was a series of massively parallel supercomputers produced by Intel. The Paragon XP/S was a productized version of the experimental Touchstone Delta system built at Caltech, launched in 1992. The Paragon superseded Intel's earlier iPSC/860 system, to which it was closely...

, and were the compilers of choice for the majority of i860-based platforms.

In the early 1990's PGI was deeply involved in the development of High Performance Fortran
High Performance Fortran
High Performance Fortran is an extension of Fortran 90 with constructs that support parallel computing, published by the High Performance Fortran Forum . The HPFF was convened and chaired by Ken Kennedy of Rice University...

, 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 which continues to be available today.

In 1996 PGI developed x86 compilers for the ASCI Red Supercomputer at Sandia National Laboratories, the first computer system to sustain teraflop performance. In 1997 PGI released x86 compilers for general use on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 workstations.

The Portland Group was acquired by STMicroelectronics in December, 2000, and has continued operating as a wholly owned subsidiary producing HPC compilers and tools for Linux, Windows, and Mac OS since that time.

Most recently PGI has been involved in the expansion of the use of GPGPU
GPGPU
General-purpose computing on graphics processing units is the technique of using a GPU, which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU...

s for high-performance computing, developing CUDA Fortran
with NVIDIA
NVIDIA
Nvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...

 Corporation and PGI Accelerator Fortran and C compilers

which use programming directives
Directive (programming)
In computer programming, the term directive is applied in a variety of ways that are similar to the term command. It is also used to describe some programming language constructs ....

.

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 95, Fortran 2003
  • High Performance Fortran (HPF)
  • ANSI C99 with K&R extensions
  • ANSI/ISO C++

Programming Tools

PGI also provides a parallel debugger, PGDBG, and a performance profiler, PGPROF, both of which support OpenMP and MPI parallelism on Linux, Windows, and Mac OS. On Windows, the PGI Fortran compiler and debugger have been fully integrated into Microsoft Visual Studio as a product called PGI Visual Fortran.

PGI Milestones

  • 1989 - PGI founded
  • 1991 - Pipelining i860 Compilers
  • 1994 - Parallel i860 Compilers
  • 1996 - ASCI Red
    ASCI Red
    ASCI Red was the first computer built under the Advanced Strategic Computing Initiative . ASCI Red was built by Intel and installed at Sandia in late 1996. The design was based on the Intel Paragon computer...

     TFLOPS Compilers
  • 1997 - Linux/x86 Compilers
  • 1998 - OpenMP
    OpenMP
    OpenMP is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Linux, Unix, AIX, Solaris, Mac OS X, and Microsoft Windows platforms...

     for Linux/x86
  • 1999 - SSE
    Streaming SIMD Extensions
    In computing, Streaming SIMD Extensions is a SIMD instruction set extension to the x86 architecture, designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMD's 3DNow! . SSE contains 70 new instructions, most of which work on single precision floating point...

    /SIMD
    SIMD
    Single instruction, multiple data , is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously...

     Vectorization
  • 2001 - VLIW ST100 Compilers
  • 2003 - 64-bit Linux/x86 Compilers
  • 2004 - ASCI Red Storm
    Red Storm (computing)
    Red Storm is a supercomputer architecture designed for the US Department of Energy’s National Nuclear Security Administration Advanced Simulation and Computing Program. Cray, Inc developed it based on the contracted architectural specifications provided by Sandia National Laboratories...

     Compilers
  • 2005 - PGI Unified Binary Technology
  • 2006 - PGI Visual Fortran
  • 2007 - 64-bit MacOS Compilers
  • 2008 - PGI Accelerator Compilers
  • 2009 - CUDA
    CUDA
    CUDA or Compute Unified Device Architecture is a parallel computing architecture developed by Nvidia. CUDA is the computing engine in Nvidia graphics processing units that is accessible to software developers through variants of industry standard programming languages...

     Fortran Compiler
  • 2010 - CUDA X86 Compiler
  • 2011 - AVX
    Advanced Vector Extensions
    Advanced Vector Extensions is an extension to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008 and first supported by Intel with the Westmere processor shipping in Q1 2011 and now by AMD with the Bulldozer processor shipping in Q3 2011.AVX...

    /FMA
    FMA instruction set
    The FMA instruction set is the name of a future extension to the 128-bit SIMD instructions in the X86 microprocessor instruction set to perform fused multiply–add operations...

     Vectorization

See also

  • Fortran
    Fortran
    Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

  • C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

  • C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

  • Debugger
    Debugger
    A debugger or debugging tool is a computer program that is used to test and debug other programs . The code to be examined might alternatively be running on an instruction set simulator , a technique that allows great power in its ability to halt when specific conditions are encountered but which...

  • Profiler
  • IDE
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK