我使用GPU规约一个65,357,777的向量,求解这个向量的最小值,我使用串行计算竟然是并行规约计算时间的1/2,也就是串行比并行快一倍。我想过可能是GPU的SM数量问题。。。SM的数量能多大限度的影响规约哪?计算时间与SM数量是近似线性关系吗?
关注关注关注
跟SM的数量关系不大,感觉是数据上传到GPU的时间很多
这个是对的,就是传送的速度太慢。相当慢。如果不采用多次传递的方式,就不好写算法了。所以核心取数据的速度应该是GPU程序的瓶颈。
传输问题是一部分,还有一部分可能跟传输没关系,算法的实现,其实可以好好的理解一下reduction,规约算虽然是log(n)但是还得考虑实际的硬件的个数,不能简单的只用reduction
开勇大哥教训的是。我继续努力。