NVIDIA Developer Zone

PGI Accelerator Fortran and C Compilers

By using PGI Accelerator compilers, programmers can accelerate applications on x64+GPU platforms by adding OpenMP-like compiler directives to existing high-level standard-compliant Fortran and C programs and then recompiling with appropriate compiler options. Support for the OpenACC directives programming standard has been annouced.

Sample Fortran Matrix Multiplication loop, with directives:


<pre>!$acc region 
      do k = 1,n1
       do i = 1,n3
        c(i,k) = 0.0
        do j = 1,n2
         c(i,k) = c(i,k) + a(i,j) * b(j,k)
        enddo
       enddo
      enddo
!$acc end region</pre>


The PGI Accelerator compilers automatically analyzes whole program structure and data, splits portions of the application between the x64 CPU and GPU as specified by user directives, defines and generates an optimized mapping of loops to automatically use the parallel cores, hardware threading capabilities and SIMD vector capabilities of modern GPUs.

Key Advantages

 
  • Programs remain 100% standard compliant and portable to other compilers and hardware
  • Incremental porting/tuning of applications to x64+GPU
  • Designed to enable development of applications that are performance portable to multiple types of accelerators
  • Planned support for the OpenACC directives standard

PGI has created a showcase for success using directives, and invites users to post their speedups.

Useful links (many more are available on the  PGI Accelerator home page:

 

PGI 2010 and later releases include the PGI Accelerator. Supported on Linux, Mac OS X and Windows