我是 OpenACC 的新手,它是 GPU 加速和 CPU 的新编程标准。据我所知,OpenACC 是一种编译器指令语言,我们可以直接在任何我们想要的地方加速代码,而无需更改整个代码。与 OpenMP 不同,此编程标准也适用于 GPU。
现在我的疑问在这里提出..
我们有用于加速的 OpenCL,现在是 OpenACC(非常易于使用,只需提供编译器提示即可)。对于宿主程序加速,我们可以简单地放置编译器指令,那么如果我们有内核呢?即现在我想为GPU(c语言)编写我的代码,我必须做什么?像 OpenCL 一样,我需要编写 example.c 和 example.cl 吗?那么需要添加OpenACC编译指令吗?或者以哪种方式?如果是这样,那么在这里使用 OpenACC 有什么用,因为我们正在编写 *.c 和 *.cl 文件,(我们需要检查所有内存限制以及所有用于编写 OpenCL 的内容,这是一项艰巨的工作)。