7

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!

lashgar
  • 5,184
  • 3
  • 37
  • 45
  • 4
    At the present time you need an [openACC compliant compiler](https://developer.nvidia.com/openacc) from CAPS, PGI, or Cray. The CUDA toolkit by itself does not allow you to compile directives. – Robert Crovella Nov 04 '12 at 08:04
  • Thanks Robert! The term `support` at the nvidia page is really confusing! – lashgar Nov 04 '12 at 10:39

2 Answers2

7

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.

Tom
  • 20,852
  • 4
  • 42
  • 54
  • Note that if you're interested in playing with OpenACC, you can get a 30 day trial (last time I tried it was 15 days renewable once) of the PGI OpenACC compiler here: https://www.pgroup.com/account/register.php?openacc_user – Jonathan Dursi Nov 04 '12 at 16:30
  • Also note that the NVIDIA Visual Profiler will work with PGI OpenACC compiler generated code. I haven't personally tried Cray or CAPS compilers with nvvp, so can't comment about those. – Mark Ebersole Jan 14 '13 at 14:54
0

There exists accULL, The OpenACC research implementation (C only, OpenACC 1.0).

Jakub Narębski
  • 309,089
  • 65
  • 217
  • 230