OpenCL 2.1和2.2除了传统的OpenCL C内核语言外,还引入了OpenCL C++内核语言。我必须在一个支持C但不支持C++的环境中使用OpenCL。除了C++语法之外,是否还有在OpenCL C++中可用但在OpenCL C中不可用的OpenCL 2.2功能?
我必须使用C++编译器(编写C++主程序)才能使用OpenCL C++内核语言吗?我的理解是,一些OpenCL实现包含一个有限的C++编译器来处理OpenCL C++内核语言。
发布于 2017-04-22 07:19:47
我还没有尝试过,但我认为在OpenCL 2.1/2.2中使用C++内核语言不需要C++编译器,因为您只需将源代码提交给驱动程序进行编译(使用它的内置C++编译器)。当然,您的主机程序必须是C语言,而不是C++。
发布于 2017-04-22 07:34:29
要构建GPU OpenCL 2.1代码,OpenCL编译器必须支持C++。您必须至少在GPU端支持C++ (自动,因为它是包含它的OpenCL编译器)。
除此之外,您的宿主代码可以是C代码。
https://stackoverflow.com/questions/43539820
复制相似问题