1

我只是想深入研究 OpenCL 2.0。我在 Win10-64 上使用 AMD R7 260X GPU 和 AMD APP SDK 3.0(最终版)和最新的驱动程序(Crimson-something,2348.4)和 16GB RAM。编译器是 Visual Studio 2015。

我做的第一件事是使用 clInfo 在我的系统上查询一些信息。输出符合预期,尤其是设备 OpenCL C 版本:

Platform Name:                                 AMD Accelerated Parallel Processing
Number of devices:                               2
Device Type:                                   CL_DEVICE_TYPE_GPU
Vendor ID:                                     1002h
Board name:                                    AMD Radeon R7 200 Series
Platform ID:                                   00007FFE91EF0188
Name:                                          Bonaire
Vendor:                                        Advanced Micro Devices, Inc.
Device OpenCL C version:                       OpenCL C 2.0
Driver version:                                2348.4
Profile:                                       FULL_PROFILE
Version:                                       OpenCL 2.0 AMD-APP (2348.4)

接下来是玩一些来自 AMD APP SDK 的示例。我很快注意到,OpenCL 2.0 没有正确执行。我浏览了代码并注意到一个函数,它使用 clGetDeviceInfo 收集设备信息。此时,报告的设备 OpenCL C 版本(参见屏幕截图 1)与我从 clInfo 获得的不同,因此,需要 OpenCL 2.0 的示例不会执行。

我做错了什么?

clGetDeviceInfo

4

1 回答 1

1

从目标平台 Win32 切换到 x64 奇怪地为我解决了这个问题。clGetDeviceInfo 现在报告我的 GPU 的 OpenCL 2.0 功能。

于 2017-07-19T13:46:14.633 回答