前言
之前第三篇也看到了, 并行方面GPU真的是无往不利, 现在再看下第二个例子, 并行规约....通过这次的例子会发现, 需要了解GPU架构, 然后写出与之对应的算法的, 两者结合才能得到令人惊叹的结果....----
未优化并行规约
如果按照常规的思路, 两两进行进行加法运算. 每次步长翻倍即可, 从算法的角度来说, 这是没啥问题的. 但是没有依照GPU架构进行设计.
?...);
/* 释放显存空间 */
cudaFree( d_a );
cudaFree( d_partial_sum );
return(0);
}
----
优化后并行规约...不过GPU确实算力太猛, 这样看还不太明显, 有意放大数据量会更加明显.
?