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

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

Supported in the NVIDIA HPC SDK for Linux and NVIDIA Fortran for Windows