我在 MacOSX 上编写了一个 OpenCL 程序。该程序定义了以下构建选项:
-D T=ushort -D MAX_VAL=65535 -D MIN_VAL=-65535
内核可以为所有内置的 C++ 类型执行。例如,如果 T=uchar,那么程序将定义下一个选项:
-D T=uchar -D MAX_VAL=255 -D MIN_VAL=-255
但是当我运行程序时它会因错误而崩溃CL_INVALID_BUILD_OPTIONS
提前谢谢你的帮助!
正如评论中提到的,空格是问题所在。如果您将选项更改为:
-DT=ushort -DMAX_VAL=65535 -DMIN_VAL=-65535
我打算建议您使用 中定义的常量limits.h
,尽管查看了OpenCL 规范,但它说不能包含标头。