显卡GPU浮点运算的公式如下:
理论峰值 = 流处理器数目 X 2 X 显卡核心频率
以AMD的RV770为例,10个SIMD引擎,每个SIMD有16个SPU,每个SPU有5个流核心,核心频率750MHz,带入得
理论峰值1.2Tflops。我的显卡是HD3650,算的结果是0.6Gflops。程序实际运行时,能达到20%的峰值就时很高效的了。
以计算矩阵乘法,以前一篇文章的代码运算,经过g++优化,也需要大约5秒,而选择brook+的samples里面的简单
矩阵乘法的例子,大约需要0.47秒,加速比为10左右。
用优化的分块矩阵乘法对于2048X2048规模的矩阵做乘法运算,实际的浮点运算性能大概时22Gflops。由此可见,GPU
的加速性能还是很好的,一般而言,至少有10倍的加速吧。当然,这一方面依赖于显卡硬件,还依赖于算法的设计和程序的优化。
对于我的E2140来说,10倍的加速比,还是很诱人的。
今天的文章brook+编程之GPU加速到底多快?分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32393.html