2011年10月15日

摘要: 把一个n元素数组里面的值全部加起来的程序,大家都会写,一个for循环搞定。但是如果在cuda代码里面也这么写的话,速度会比cpu上还慢,毕竟人家一对一对拼的话,肯定是干不过cpu的。在cuda里面的算法是n个线程一起参与这个运算。nvidia貌似有个官方的算法,几乎所有看到的cuda代码里面都是用的它:for(int i=(blockDim.x>>1);i>0;i>>=1){ if(threadIdx.x < i){ pis[threadIdx.x] += pis[threadIdx.x+i]; } __syncthreads();}if(threadIdx 阅读全文
posted @ 2011-10-15 00:31 hyperddr 阅读(1844) 评论(0) 推荐(3) 编辑

导航