是否可以用C++而不是C编写OpenCL内核?

Ell*_*sky 5 c++ gpgpu opencl pyopencl

我知道有一个openCL C++ API,但是我在编译内核时遇到了麻烦......内核是否必须用C语言编写?然后它只是允许用C++编写的主机代码?或者有没有办法在C++中编写我没有找到的内核?具体来说,我正在尝试使用pyopencl编译我的内核,它似乎失败了,因为它将它们编译为C代码.

doq*_*tor 9

OpenCL C是一个子集C99.

还有OpenCL C++(OpenCL 2.1和OpenCL 2.2规范)是其中的一个子集C++14但尚未由任何供应商实现(OpenCL 2.1部分由英特尔实现,但不是由C++内核实现).

主机代码可以用C,C++,python等编写.

简而言之,您可以阅读维基百科上的 OpenCL .有关每个OpenCL版本的说明.在pyopencl你可以使用OpenCL1.2(据我所知没有用于OpenCL2.0支持还).关于在Khronos网站上的OpenCL的更多细节.

  • @doqtor,您能用当前的状况更新您的答案吗? (2认同)