2017-07-19 78 views
1

我只是試圖潛入OpenCL 2.0。我在帶有16GB RAM的Win10-64上使用帶有AMD APP SDK 3.0(最終版)的AMD R7 260X GPU和最新的驅動程序(Crimson-something,2348.4)。編譯器是Visual Studio 2015.OpenCL報告的設備版本在clinfo/clGetDeviceInfo之間不同

我做的第一件事是用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

+0

你有什麼處理器? – Jovasa

+0

英特爾i7 3770.可用英特爾平臺通過clInfo進行報告,英特爾OpenCL SDK未安裝。 –

+0

也許您的系統中存在OpenCL ICD配置問題? https://streamhpc.com/blog/2015-03-16/how-to-install-opencl-on-windows/ – Ruyk

回答

1

從目標平臺的Win32切換到x64奇怪的解決了這個問題對我來說。 clGetDeviceInfo現在報告我的GPU的OpenCL 2.0功能。

+0

可能與共享地址空間指針寬度有關。 – pmdj