Skip to content

PGI adds GPU support to compilers

by Wayne on July 6th, 2009

The trend of distributing complicated and heavy computations to the GPU is fast developing. PGI now presents it new product line of C and Fortran compilers with the support of NVIDIA GPU for general purpose computing. The new compiler, PGI Release 9.0 includes the PGI Accelerator™ has been demonstrated at ICS ’09 in Hamburg last week.

According to HPCWire, the new PGI’s compilers provide an more intuitive way of GPGPU programming by generating GPU code directly from the C or Fortran source code. The model used by PGI is based on directives that the programmer must insert into the source code at the appropriate spots. This is similar to OpenMP directives. For example,

SUBROUTINE SAXPY (A,X,Y,N)
INTEGER N
REAL A,X(N),Y(N)
!$ACC REGION
DO I = 1, N
X(I) = A*X(I) + Y(I)
ENDDO
!$ACC END REGION
END

The loop inside ACC REGION will be parallelized by the compiler and the GPU code will be bundled into the binary file along with the general CPU code. Beneath the compilers, the CUDA C extension is employed as the low-level interface to the GPU. This will certainly push forward the application of GPGPU in more general scientific computing. Currently, as the CUDA cannot fully utilize the power of multi-GPU cores, the PGI Release 9 compiler only works with one specific GPU per application. PGI is also seeking possibilities to use AMD’s Stream platform, but will need a working OpenCL implementation for that purpose.

You can try out the Accelerator™ from http://www.pgroup.com/resources/accel.htm. This feature is available at no charge until the end of 2009 for users with a working PGI Linux license.

From → Computing

One Comment

Trackbacks & Pingbacks

  1. ebook compilers? | Publish Ebook

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS