【问题标题】:Why my OpenCL.dll doesn't have clReleaseDevice function?为什么我的 OpenCL.dll 没有 clReleaseDevice 功能?
【发布时间】:2022-01-14 10:12:54
【问题描述】:

初始化设备变量时出错。

cl::Device device;

问题:

过程入口点 clReleaseDevice 不能位于 动态链接库 OpenCL.dll

我从C:\Windows\System32 with "Dependency Walker"打开OpenCL.dll,确实没有这个功能。我使用的是 Windows 7 和 NVIDIA CUDA Toolkit 11.5,无法运行最简单的程序。

为什么会这样?如何解决?

【问题讨论】:

    标签: windows dll opencl nvidia


    【解决方案1】:

    clReleaseDevice 已添加到 OpenCL 1.2。因此,如果您的 OpenCL 库不包含此功能,则意味着该库仅支持 OpenCL 1.1 或更早版本。因此,您可以通过两种方式解决此问题:

    1. 更新 OpenCL.dll(例如,构建指令可用here
    2. 根据 OpenCL 1.1 或更早版本重写示例。看起来你使用cl2.hppopencl.hpp,所以你可以使用CL_HPP_TARGET_OPENCL_VERSION宏来指定目标OpenCL版本:
    #define CL_HPP_TARGET_OPENCL_VERSION 110
    #include <CL/opencl.hpp>
    

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2023-02-17
      • 2010-09-11
      • 2013-09-08
      相关资源
      最近更新 更多