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,C and C++ programs and then recompiling with appropriate compiler options.

Sample Fortran matrix multiplication loop, with directives:


!$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


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
  • Supports the OpenACC standard

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

 

Supported on Linux, OS X and Windows