累加计算的并行与串行效率比较

计算一幅图像的像素值的平均值

测试环境:

CPU: Intel(R)_Core(TM)_i7-7700_CPU_@_3.60GHz x 8

GPU: NVIDIA GeForce GTX 1050

 

1,在cuda GPU上计算累加和,先分段计算,在进行规约,分段计算里面其实也是规约,然后除以总的像素个数。

2,在cpu上串行计算累加和,再除以总的像素个数。

3,在cpu上使用omp进行并行化。

对于1024x1024大小的图像数据,在保证结果正确一致的前提下,比较计算耗时,结果如下:

 

可以看出,最快的是cuda GPU,其次是omp并行化之后的程序,最慢的是串行计算。

代码可参考:https://gitee.com/yt2014/cuda-programs/tree/master/sum_mean

你可能感兴趣的:(cuda编程)