[問題] OpenCL SVM 問題請教

看板C_and_CPP (C/C++)作者 (小干)時間10年前 (2015/08/21 01:59), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
開發平台(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
第161行,想法應該是讀取結果而非寫入,所以參數有誤
08/21 15:45, 2F
文章代碼(AID): #1LrXMR6Q (C_and_CPP)
文章代碼(AID): #1LrXMR6Q (C_and_CPP)