【发布时间】:2018-07-21 17:05:32
【问题描述】:
我正在尝试开始使用一些 OpenCL 编码。
我已经在我的计算机上安装了 NVidia CUDA OpenCL,并成功构建了一个简单的“Hello World!”使用 Visual Studio 2017 的应用程序。
我还安装了英特尔 OpenCL SDK(安装警告我需要更新我的 OpenCL 驱动程序,但英特尔更新管理器告诉我一切都是最新的,所以我不确定这是否是一个问题)。
现在每当我在我的 PC 上查询 OpenCL 平台时,都是这样:
std::vector< cl::Platform > platformList;
cl::Platform::get(&platformList);
我只拿回了我的 nVidia openCL 平台,我的 GPU 作为唯一的设备。我的 CPU 没有得到任何回报。
有人可以帮忙吗?是否可以在同一个项目中同时执行 CPU 和 GPU OpenCL 计算(在不同的 OpenCL 上下文中?我该怎么做?
【问题讨论】:
-
您似乎是从 nVidia 链接 OpenCL.dll,这可能是原因吗?请尝试从 Intel 链接 dll。
-
你的 CPU 型号是什么?
-
CPU 是 i7-7700k。我尝试使用 Intel sdk 中的 Intel 包含和 OpenCL.lib,但只得到 GPU。