[問題] CUDA 座標求算距離問題(已解決)

作者: okokokla2001 (okla)   2014-05-04 14:47:56
[36m開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VS2010
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
[36m問題(Question):
我想利用Cuda裡面,block與thread來求算二維座標各點之間的距離,再回傳給cpu
,再由CPU選出前五小的pair
想法:假設有N個點,則會有個N^2大小的距離矩陣
   捨去矩陣上三角為對稱與對角線為自己與自己的距離
   只要確實算出剩下的pair的距離就好
所以我另blocknumber與threadnumber都為N
故則有N^2個thread在執行距離求算
   而我也用blockindex當local點 threadindex當欲求算距離的點
   矩陣上三角與對角線,因為我要選最小則給它們mark一個很大的數
最終cuda device端會把 (blocknumber*threadblock)筆資料寫回host
現在問題是不知道哪個環節出錯了,導致寫回host的資料
選出前五小的結果出問題:http://ppt.cc/5LnQ
   已經看改了很多次還是找不出問題orz..
小弟第一次寫Cuda 煩請各位多多指導感謝!~
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
[36m程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/5q7wdK
補充說明(Supplement):
作者: kiedveian (極地之星光)   2014-05-04 15:13:00
cudaMemcpy(gpudataX
作者: okokokla2001 (okla)   2014-05-04 15:20:00
感謝K大! 把&去掉已經可以正常運行了

Links booklink

Contact Us: admin [ a t ] ucptt.com