Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼


Optimizing Algorithms Versus GPU Programming, Which Is Best?

Portland-based Portland Group has released its 2012 PGI line of high-performance parallelizing compilers and development tools for Linux, OS X, and Windows. The release is noted by its new support for the OpenACC directive-based programming model for NVIDIA CUDA-enabled Graphics Processing Units (GPUs).

This release is also the first to include the fully feature-enabled PGI CUDA C/C++ compiler for multi-core x64 CPUs from Intel and AMD. In addition, PGI 2012 includes a number of performance and feature enhancements for multi-core x64 processor-based HPC systems.

"GPU accelerators are now a mainstay in HPC with NVIDIA's CUDA achieving the widest adoption so far", said Douglas Miles, director of The Portland Group. "First announced in 2008, the PGI Accelerator Fortran and C compilers provide a directive-based high-level approach to GPU programming. Targeting scientists and engineers who are not full-time programmers, the PGI Accelerator programming model frees developers from the tedious aspects of GPU programming and lets them focus instead on optimizing their algorithms."

Other benefits compared to low-level GPU programming models include enhanced productivity (Portland group claims that many developers see performance gains in just minutes) and improved source code portability achieved by retaining compatibility across GPUs and CPUs. PGI 2012 fully supports the PGI Accelerator 1.3 specification including asynchronous data transfer and kernel launch directives and enhanced data management capabilities.

Based in large part on the PGI Accelerator programming model, the OpenACC API provides a hardware-independent methodology for programming accelerators, coprocessors, and related offload engines. Currently, PGI is conducting a closed evaluation of its first Fortran and C compilers to include support for a subset of the OpenACC 1.0 specification. PGI expects to ship fully OpenACC version 1.0 conformant compilers by mid-year 2012.

Other features and enhancements in PGI 2012 include expanded support for the new Advanced Vector Extensions to the x64 instruction set architecture (AVX) in the latest Intel Sandy Bridge and AMD Bulldozer CPUs, improved auto-parallelization support, support for recursive I/O (part of the Fortran 2003 language standard), a new GNU compatible C++ compiler with all PGI features and optimizations, OpenMP nested parallelism, remote cluster debugging support, and Eclipse integration of the PGI C/C++ compilers on Linux.

PGI 2012 supports the latest operating system releases including Red Hat Enterprise Linux 6.2, Fedora 16, SLES 11 SP1, Ubuntu 11.10, and Apple OS X Lion.

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.