[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):