PGI C++ Workstation

C++ and ANSI C for 64-bit x64 and 32-bit x86 processor-based systems.

PGI C++ Workstation includes The Portland Group's native parallelizing/optimizing C++ and ANSI C compilers for 64-bit x64 and 32-bit x86 processor-based Linux, Apple Mac OS X and Microsoft Windows workstations. The C++ compiler closely tracks the proposed ANSI standard and is compatible with cfront versions 2 and 3. The PGI C++ Workstation compilers are native parallelizing C++ and ANSI C compilers. All C++ functions are compatible with Fortran and C functions, so you can compose programs from components written in all three languages. C++ function overloading, function inlining, multiple inheritance, and templates are all fully supported. A common set of OpenMP parallelization pragmas across C and C++ provide for simple and effective localized parallel programming without the need for explicit threads calls. Every copy of PGI C++ Workstation ships with STL library binaries.

PGI C++ Workstation for Linux includes debugging and profiling support for up to four local MPI processes.

PGI C++ Workstation for both Mac OS X and Windows consists of command-level versions of the PGI compilers and both command-level and graphical versions of the OpenMP parallel PGDBG debugger and PGPROF performance profiler. An integrated development environment (IDE) is neither provided nor supported. As a separate product, PGI Visual Fortran fully integrates PGI Fortran compilers and tools into Microsoft Windows using Microsoft Visual Studio.

This product targets 64-bit x64 and 32-bit x86 workstations with one or more single core or multi-core microprocessors running Linux, Mac OS X or Windows.

Technical Features

A partial list of technical features supported includes the following:

  • PGCC OpenMP and auto-parallel ANSI and K&R C compiler
  • PGC++® OpenMP and auto-parallel C++ compiler
  • PGDBG ® OpenMP parallel graphical debugger
  • PGPROF® OpenMP parallel graphical performance profiler
  • Full 64-bit support on multi-core AMD Opteron, Athlon 64 and Turion, and Intel Pentium and Xeon with EM64T
  • AMD Opteron and Intel EM64T optimizations including SSE/SSE2/SSE3/SSSE3, SSE4a/ABM, prefetching, use of extended register sets, and 64-bit addressing
  • PGI Unified Binary™ combines into a single executable file code optimized for multiple AMD64 and EM64T processors
  • Intel Pentium II/III/4/Xeon and AMD Athlon XP/MP optimizations including SSE/SSE2 and prefetching where supported in hardware
  • Full support for ANSI C99
  • Full support for OpenMP 2.5 and partial support for OpenMP 3.0
  • Complete uniform development environment across 64-bit and 32-bit systems based on either AMD or Intel processors running Linux, Mac OS X or Windows
  • Includes optimized ACML (LAPACK/BLAS/FFT) math library supported on all targets
  • Highly-tuned Intel MMX and SSE intrinsics library routines
  • One pass interprocedural analysis (IPA)
  • Interprocedural optimization of libraries
  • Profile feedback optimization
  • Function inlining including library functions
  • Vectorization, loop interchange, loop splitting
  • Memory heirarchy and memory allocation optimizations including huge pages support
  • Loop unrolling, loop fusion, and cache tiling
  • Enhanced auto-parallelization of loops specifically optimized for dual-core processors
  • Concurrent subroutine call support
  • Extensive vectorization / optimization pragmas support
  • State-of-the-art dependence analysis and global optimization
  • Invariant conditional removal
  • Tuning for non-uniform memory access (NUMA) architectures
  • Support for creation of shared objects on Linux, dynamic libraries on Mac OS X and DLLs on Windows
  • Tracking ANSI C++ Standard - EDG 3.6 C++ front-end
  • C++ Class member templates
  • C++ partial specialization and ordering
  • C++ explicit template qualification
  • C and C++ extended asm support
  • GNU style template instantiation
  • Threads-based auto-parallelization of FOR loops
  • Full native OpenMP parallelization pragmas
  • Process/CPU affinity support in SMP/OpenMP applications
  • Compile-time optimization listings using the "-Minfo" switch
  • Re-use of communication schedules
  • Interoperable with Etnus TotalView® (Linux only)
  • Fully interoperable with gcc, g77, and gdb
  • User modules simplify switching between multiple compiler environments/versions
  • 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!
  • Unconditional 30 day money back guarantee

System Requirements

  • Processor: 64-bit AMD64 technology, 64-bit Intel EM64T or 32-bit x86 processor-based workstation or server with one or more AMD Opteron, Athlon, Turion, or Intel Pentium II/III/4 or Xeon microprocessors.
  • Operating System:
    - Red Hat Linux 9.0 or higher, SUSE Linux Enterprise Server (SLES) 9 or higher, SuSE 8.0 or higher, Red Hat Enterprise Linux 3 or higher, or Fedora Core 4 or higher. Fully interoperable with newer versions of Linux which use kernel revision 2.4 and glibc 2.3.2 or higher.
    - Apple Mac OS X version 10.4.9 or higher (64-bit and 32-bit) and Xcode 2.4.1 or higher.
    - Microsoft Windows XP Professional x64 Edition, Windows Vista or Windows Server 2003 x64 Edition (64-bit) or XP/Vista/Server 2003 (32-bit). Building 64-bit executables requires a 64-bit operating system.
  • Memory: 16 MB or more.
  • Hard Disk: 250 MB during installation, 100 MB to hold installed software.
  • Peripherals: Mouse or compatible pointing device for use of optional graphical user interfaces. CD-ROM disk drive for installation, unless products are downloaded and installed electronically.
  • Other: Web browser and Adobe Acrobat Reader for viewing online documentation.
Other PGI Workstation Products
PGI Workstation Complete
PGI's full suite of parallelizing F77, F95, HPF, C and C++ compilers and development tools. Includes the OpenMP parallel debugger/profiler.
PGI Fortran Workstation
Fortran-only package with parallelizing F77, F95 and HPF compilers Includes the OpenMP parallel debugger/profiler.