看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) win7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual Studio 2017 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) CUDA9 問題(Question): 以前在CUDA都要用A[i*col+j]來表示A[i][j]的值 但我在這個網站有看到在CUDA程式中使用A[i][j] 但我執行結果印出來c矩陣都是0 請問是哪裡有問題 餵入的資料(Input): 預期的正確結果(Expected Output): 印出C=A+B的結果 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) http://www.cnblogs.com/jugg1024/p/4349243.html http://codepad.org/iXPPGSAD 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.112.208 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1515298520.A.CA8.html
schizophrena: 你看到的是CPU的code哦, 下面才是CUDA 01/07 12:43
schizophrena: 下面有一段是有把ptr** assign到ptr*去的部份 01/07 12:55
friends29: 為了要在Kernel裡面用[][]結果繞了一大圈 01/09 14:00
hunandy14: 傳入的參數 可以是 int** 就可以用二維了 01/11 20:20
sunneo: 看有沒有UVA supported 01/11 20:25
hunandy14: 我知道問題點了,不過我覺得應該不能那樣用 01/11 20:51
hunandy14: cudaMalloc((void**)(&dev_A), M*sizeof(int*)); 01/11 20:52
hunandy14: 這樣行實際應該是 void*** 不過他強制cast成** 01/11 20:53
wrt: 這種二維的存取會降低效能吧 早點習慣一維陣列是比較好嗎? 01/11 22:31
kent12342004: 用pitch仿二維也可以 01/11 23:26
freef1y3: 用 int (*ptr)[N] 來接 int a[M][N] 就不用 malloc 兩層 01/11 23:37
freef1y3: 不過 CUDA 上 N 只能是常數的樣子 01/11 23:46
snow3804: 謝謝大家提供意見 01/12 10:53
hunandy14: cudaMalloc 指標寫在參數可能是要限制只能用一維 01/15 01:51
hunandy14: 紋理記憶體可以用二維,不過讀的方式是用函式 01/15 01:51
hunandy14: tex2D(rT, x, y) 不過這樣跟自己寫一轉的函式也差不多 01/15 01:53