【问题标题】:OpenCL 1.2 no member Error in namespace clOpenCL 1.2 命名空间 cl 中没有成员错误
【发布时间】:2019-07-31 20:20:18
【问题描述】:

我正在尝试根据我在网上找到的示例编写一个 openCL 1.2 程序,但遇到了错误。库是否已更改为使用类似于 std::vector 的 std::exception?

下面的sn-p:

 // Build the kernel
    cl::Program program(context, sources);
    try{
        program.build({device});
    } catch(cl::Error& e){
        std::cerr << program.getBuildInfo<CL_PROGRAM_BUILD_LOG>(device) << std::endl;
        throw e;
    }

【问题讨论】:

    标签: c++11 exception opencl


    【解决方案1】:

    我认为您使用的命令 program.build 错误。它不将设备列表作为输入参数,而是一串预处理器选项。要使用的设备已在 context 对象中确定。它也确实返回错误代码。试试这样:

    int error = program.build("-cl-fast-relaxed-math");
    if(error) std::cerr << program.getBuildInfo<CL_PROGRAM_BUILD_LOG>(device) << std::endl;
    

    这里的示例 "-cl-fast-relaxed-math" 是一个关闭浮点完整性检查的选项。

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 1970-01-01
      • 2013-06-09
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      相关资源
      最近更新 更多