我嘗試啓動至少有很多參數的空內核,但在函數enqueueNDRangeKernel中出現內存訪問衝突。請檢查我的代碼,也許我錯過了一些東西或者只是不知道。OpenCL中的訪問衝突錯誤enqueueNDRangeKernel
主機代碼: https://dl.dropboxusercontent.com/u/71256314/main.cpp 起初去一些初始化,然後我創建緩衝區,然後設置參數。沒有錯誤出現。它在第一次enqueueNDRangeKernel函數調用時崩潰。
內核代碼: https://dl.dropboxusercontent.com/u/71256314/baum_kernel.cl 即使內核爲空,它也不起作用。
緩衝區的一些問題我猜,但沒有錯誤返回。
版本: AMD APP SDK 2.8版 - AMD催化劑™12.10(9.002) GPU:ATI的Mobility Radeon HD 5650
檢查編譯和庫鏈接。這看起來像程序沒有正確鏈接到OpenCL。 API不應該以這種方式崩潰。 – DarkZeros
@DarkZeros我不認爲這是問題。我在VS 2012中設置了項目,就像它在這裏描述的一樣(對於x64系統): http://kode-stuff.blogspot.ru/2012/11/setting-up-opencl-in-visual-studio_1.html I試圖用這種配置運行簡單的helloworld示例,並且它們運行良好。 –
Sry告訴你他們放置的Hello world示例是無用的,只是調用一個不運行的OpenCL函數(只返回一些ID)。即使它起作用,鏈接也可能是錯誤的。您遇到的錯誤的典型問題是鏈接錯誤的庫版本或以錯誤的方式動態加載它。 – DarkZeros