cudanvccopenacc

NVCC 5.0 and OpenACC


According to NVIDIA website:

"The CUDA Toolkit complements and fully supports programming with OpenACC directives."

Does this mean OpenACC programs (pargma and API) can be compiled with nvcc compiler? Or it means only runtime routine calls are supported?

Unfortunately, I cannot install CUDA Toolkit 5.0 atm to get my answer. Thanks!


Solution

  • To compile a program using OpenACC directives, you need to use an OpenACC compiler - currently that means Cray, PGI or CAPS.

    Parts of the CUDA Toolkit are used by the OpenACC compilers, depending on the implementation they can use various components such as ptxas to assemble PTX to the machine code. The Toolkit also includes libraries such as cuBLAS/cuFFT/cuSPARSE etc. which can interoperate with OpenACC so that you can use both libraries and OpenACC in the same app - you can also interoperate with CUDA C/C++.

    nvcc itself is not an OpenACC compiler.