NVIDIA HPC Fortran,C and C++ Compilers with OpenACC
Using NVIIDA HPC 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 NVIDIA HPC 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.
Supported in the NVIDIA HPC SDK for Linux and NVIDIA Fortran for Windows