Foa*_*oad 7 c windows intel cmake opencl
在这篇文章和这篇文章之后,我正在这个 GitHub Gistmain.c上编译代码。
运行 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 未定义。默认为 220 (OpenCL 2.2)
我的问题是:
clinfo?PS 这是输出cmake .. --debug-find
SDK 中的 OpenCL 版本和 clinfo 报告的 OpenCL 版本是两个不同的东西:
现在,如果您在程序中使用 OpenCL 2.0 并且您的 GPU 支持 OpenCL 1.2,那么我怀疑 CL 函数之一会报告错误,或者程序将出现未定义的行为。#define CL_TARGET_OPENCL_VERSION <version>您可以使用以下命令在程序中设置目标 OpenCL 版本
#define CL_TARGET_OPENCL_VERSION 120
Run Code Online (Sandbox Code Playgroud)
然后目标版本以上的 API 不应该可用。