gpt4 book ai didi

c - 在运行时收到 "cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2)"警告

转载 作者:行者123 更新时间:2023-12-03 11:09:24 29 4
gpt4 key购买 nike

关注 thisthis帖子,我正在编译 main.c代码在 this GitHub Gist .

运行 CMake 命令 find_package(OpenCL REQUIRED)我明白了:

-- 寻找 CL_VERSION_2_2 - 找到
-- 找到 OpenCL:C:/Program Files (x86)/IntelSWTools/system_studio_2020/OpenCL/sdk/lib/x86/OpenCL.lib(找到版本“2.2”)

表明找到了 OpenCL SDK 2.2 版。这与我从 clinfo 得到的结果相矛盾。工具,检测英特尔 SDK/平台的 1.2 OpenCL。现在运行可执行文件时,我得到:

cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2)



我的问题是:
  • 为什么我从 CMake 和 clinfo 获得两个不同版本的 OpenCL ?
  • 我在运行时收到的警告是什么以及如何解决?

  • 附言 Herecmake .. --debug-find 的输出

    最佳答案

    SDK 中的 OpenCL 版本和 clinfo 报告的是两件不同的事情:

  • clinfo 报告您的 GPU 支持的 OpenCL 版本
  • SDK OpenCL 版本是SDK 支持的最大版本

  • 现在,如果您在程序中使用 OpenCL 2.0 并且您的 GPU 支持 OpenCL 1.2,那么我怀疑其中一个 CL 函数将报告错误或程序将具有未定义的行为。您可以使用 #define CL_TARGET_OPENCL_VERSION <version> 在程序中设置目标 OpenCL 版本。 , 例如
    #define CL_TARGET_OPENCL_VERSION 120

    然后目标版本之上的 API 不应该可用。

    关于c - 在运行时收到 "cl_version.h: CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2)"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62286806/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com