当前位置:  开发笔记 > 后端 > 正文

常见算法的GPU与CPU性能

如何解决《常见算法的GPU与CPU性能》经验,为你挑选了3个好方法。

我很想知道是否已经将任何常用算法(排序,搜索,图形等)移植到OpenCL(或任何GPU语言),以及性能如何与CPU执行的相同算法进行比较.我对结果(数字)特别感兴趣.

谢谢!



1> cletus..:

GPU是高度专业化的硬件,旨在很好地执行一小组任务并实现高度并行化.这基本上是算术运算(特别是单精度浮点运算,尽管较新的GPU在双精度下表现相当不错).因此,它们仅适用于特定算法.我不确定排序是否符合该类别(至少在一般情况下).

更常见的例子是金融工具的定价,大量的矩阵数学甚至是破坏加密(通过暴力破解).话虽这么说,我确实发现使用混合算法进行快速并行GPU排序.

另一个常见的例子是在Nvidia GPU上运行SETI @ HOME,但它将苹果与橙子进行比较.与通常使用的CPU相比,GPU的工作单元是不同的(并且非常有限).



2> Dirk Eddelbu..:

看看推力:

Thrust是一个CUDA并行算法库,其接口类似于C++标准模板库(STL).Thrust为GPU编程提供了灵活的高级接口,极大地提高了开发人员的工作效率.



3> Die in Sente..:

对于GPGPU所引用的任何性能数据,请谨慎.很多人喜欢发布真正令人印象深刻的数字,这些数字没有考虑将输入数据从CPU输出到GPU和输出数据所需的传输时间,这两者都是PCIe瓶颈.


这是事实,但NVIDIA网页上的许多示例都是完整的应用程序,并且确实包括这些传输时间.真正令人担忧的是:基准测试中CPU版本的优化程度如何?
推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有