Channels ▼
RSS

Parallel

Portland Group Releases High-Performance Tools, Parallelizing Compilers



The Portland Group has announced that release 2010 of the PGI line of high-performance parallelizing compilers and development tools for Linux, Mac OS X, and Windows. PGI 2010 is the first general release to include full support for the PGI Accelerator Programming model v1.0 standard on x64 processor-based systems incorporating NVIDIA CUDA-enabled Graphical Processing Units (GPUs). In addition to supporting high-level programming of accelerators using the PGI Accelerator programming model, the PGI Release 2010 also includes PGI CUDA Fortran, an explicit GPU programming model and API that gives programmers direct control of all aspects of programming NVIDIA GPUs.

The PGI Accelerator programming model is a collection of compiler directives used to specify regions of code in Fortran and C programs that can be offloaded from a host CPU to an attached accelerator to enhance performance. Applications optimized using the PGI Accelerator directives remain 100% portable to other compilers and platforms, and execute on systems with or without a GPU accelerator.

PGI 2010 offers full support for the PGI Accelerator programming model including the following new features:

  • GPU device-resident data -- the ability to define and leave data on the GPU across accelerator regions and subroutine boundaries
  • Support for COMPLEX and DOUBLE COMPLEX data types in Fortran
  • Support for C structs and Fortran derived types
  • Automatic GPU-side loop unrolling for improved performance
  • Support for Accelerator regions nested within OpenMP parallel regions
  • Support for Linux, Mac OS X (including Snow Leopard) and Windows (including Windows 7).

"Within five years, most HPC systems will include both x86 CPUs and accelerators in some form," said Douglas Miles, director, The Portland Group. "The PGI 2010 compilers will play a role in establishing accelerated computing as the mainstream HPC architecture."

PGI CUDA Fortran includes a Fortran 95/03 compiler and tool chain for native programming of NVIDIA GPUs using Fortran. CUDA Fortran subroutines can launch and execute in parallel on the hundreds of cores in an NVIDIA GPU under control of an x64 host CPU. Developed in collaboration with NVIDIA, PGI CUDA Fortran extensions supported in the PGI 2010 Fortran 95/03 compiler enable HPC developers to explicitly control all aspects of data movement, memory utilization and computation on CUDA GPUs.

Additional new features in the PGI 2010 compilers and tools include support for more Fortran 2003 incremental features, the latest EDG 4.1 C++ front-end with enhanced GNU and Microsoft compatibility, OpenMP parallel programming support for up to 256 cores, and AVX code generation. PGI 2010 also includes a major update to the PGPROF performance profiler, which now supports performance profiling of binary executables without re-compiling or any special software privileges, uniform operation and features on Linux, Mac OS X and Windows, support for PGI Accelerator and PGI CUDA Fortran GPU-side performance statistics, and an updated graphical user interface. Finally, PGI 2010 supports the latest operating system releases including Red Hat Fedora 10/11, SuSE 11.1 and Ubuntu 9, Mac OS X Snow Leopard and Windows 7.

Enhancements in the PGI 2010 release of PGI Visual Fortran for Microsoft Visual Studio include full support for the PGI Accelerator Programming model and PGI CUDA Fortran on NVIDIA CUDA-enabled GPUs, and the addition of a new standalone version of the PGPROF performance profiler for x64 and GPUs with support for the Common Compiler Feedback Format (CCFF). CCFF is a draft standard published by PGI that defines what compiler information is stored and how the information is formatted. CCFF enables HPC tools providers to offer more and better information about optimizing performance.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video