根据英伟达网站:
“CUDA 工具包补充并完全支持使用 OpenACC 指令进行编程。”
这是否意味着可以使用编译nvcc
器编译 OpenACC 程序(pargma 和 API)?或者这意味着只支持运行时例程调用?
不幸的是,这些天我无法安装 CUDA Toolkit 5.0 来获得答案。谢谢!
要使用 OpenACC 指令编译程序,您需要使用OpenACC 编译器- 目前这意味着 Cray、PGI 或 CAPS。
OpenACC 编译器使用 CUDA Toolkit 的一部分,根据实现,它们可以使用各种组件,例如ptxas
将 PTX 组装成机器代码。该工具包还包括可以与 OpenACC 互操作的库,例如 cuBLAS/cuFFT/cuSPARSE 等,因此您可以在同一个应用程序中同时使用库和 OpenACC - 您还可以与 CUDA C/C++ 互操作。
nvcc
它本身不是 OpenACC 编译器。
存在accULL,OpenACC 研究实现(仅限 C,OpenACC 1.0)。