我只是想深入研究 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 的示例不会执行。
我做错了什么?