[問題] OpenCL SVM 問題請教
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux, G++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
OpenCL
問題(Question):
最近在練習OpenCL 2.0加入的新性質SVM(Shared Virtual Memory),
自己改了AMD 的 HelloWorld範例,
想利用簡單的input/output buffer來試看看能不能成功create SVM
(因為先前寫了vector add程式,驗證答案時結果錯誤,懷疑是SVM沒有成功創好)
執行結果感覺kernel的程式完全沒有改到memory
但看完參考資料說明和AMD 的 SVMBinaryTreeSearch的範例,找不到問題在哪
不知道有沒有人可以看出來我少做了什麼步驟?
看完資料對SVM應用粗淺的了解:
先用clSVMAlloc要SVM buffer -----> 用clEnqueueSVMMap 來map到SVM(為了可以同步??)
-----> 寫或讀SVM buffer的值 -----> 結束後unmap(用clEnqueueSVMUnmap)
-----> 將SVM的pointer傳給kernel(用clSetKernelArgSVMPointer),如此一來device可
直接循著pointer access 到記憶體,不用像2.0以前在host 和 kernel 之間一直搬
不知道是不是理解上有問題,所以沒有成功create SVM?
餵入的資料(Input):
無
預期的正確結果(Expected Output):
input中的 "HelloWorld" 字串直接複寫到 output
錯誤結果(Wrong Output):
output裡全空
(測試outputBuffer也全空)
程式碼(Code):(請善用置底文網頁, 記得排版)
host:http://ideone.com/KGhkWn
kernel:http://ideone.com/rj3uRv (使用其中第二個:SVMhelloword)
補充說明(Supplement):
閱讀的參考資料:http://goo.gl/da8H8l
謝謝~~~~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.232.54
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1440093595.A.19A.html
→
08/21 15:42, , 1F
08/21 15:42, 1F
→
08/21 15:45, , 2F
08/21 15:45, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章