我只是想深入了解OpenCL 2.0。我正在使用带有AMD APP SDK 3.0(最终版)的AMD R7 260X GPU和最新驱动程序(Crimson-something,2348.4)在Win10-64上使用16GB RAM。编译器是Visual Studio 2015。
我做的第一件事就是使用clInfo在我的系统上查询一些信息。输出与预期一致,尤其是设备OpenCL C Version:
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的示例不会执行。
我做错了什么?
答案 0 :(得分:1)
从目标平台Win32切换到x64奇怪地解决了我的问题。 clGetDeviceInfo现在报告我的GPU的OpenCL 2.0功能。