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.
Useful links (many more are available on the PGI Accelerator home page:
Supported on Linux, OS X and Windows