c++11 - OpenCL2.0 运行时编译器不支持 c++11
问题描述
我正在尝试使用 OpenCL2.0 构建 OpenCL 内核。我正在调用 cl::Program 构建函数并传递标志 -cl-std=CL2.0。g++ 编译器完成并链接没有错误。但是,当我运行程序时,构建函数会引发异常(见下文)。想看看是否有人以前见过这个并有解决方案。谢谢你。
我尝试了其他标志,例如 -cl-std=c++11、-cl-std=CL2.2,但这些都不起作用。
[20:03:47.768768][info][Demosaic] CL_FLAGS = -cl-std=CL2.0 -D IMAGE_MAD_INDEXING -D AMD_GPU_ARCH -D DEVICE_WAVEFRONT_SIZE=64 -D WG_SIZE_MAX=256
terminate called after throwing an instance of 'cl::BuildError'
[20:03:47.788335][error][Demosaic] Build failed: In file included from /tmp/OCL21460T1.cl:244:
/usr/include/CL/cl2.hpp:495:2: error: Visual studio 2013 or another C++11-supporting compiler required
#error Visual studio 2013 or another C++11-supporting compiler required
解决方案
不是cl2.hpp
应该#include
在主机代码中而不是OpenCL内核代码中的文件吗?
我假设它检查的值__cplusplus
,如果我正确阅读OpenCL C++ 规范的相关部分,则在用于 OpenCL 内核的 C++ 方言中未定义。
推荐阅读
- bash - Apache airflow Bash_operator success while python file failed
- php - 用于 gmail 电子邮件的 PHP mail() 函数不起作用 - SMTP 和 SMTP 端口
- heroku - symfony5 - heroku - 找不到 url 404
- reactjs - 仅在按钮单击单个功能后,如何在本机反应中运行功能?
- json - 使用 jq 展开具有可能空值的嵌套 JSON 对象?
- python - 有什么方法可以通过在 python 中循环来避免重复结果?
- typescript - 如何为类的动态定义属性提供打字稿编译器提示
- django - 一个 daphne 可以同时处理多少 websocket 连接,如何增加最大连接
- powershell - PowerShell 脚本帮助 - 从现有 CSV 文件获取 ACL,然后附加到新 CSV
- group-by - Power Query - 具有可变列数的表组