我想知道是否有常见的算法(排序、搜索、图表等)。已经被移植到OpenCL (或任何图形处理器语言),以及性能如何与由中央处理器执行的相同算法进行比较。我对结果(数字)特别感兴趣。
谢谢!
发布于 2009-09-12 17:50:00
在NVidia的网站上有类似的quite a few samples。请记住,某些事情,如排序,需要特殊的算法来实现有效的并行性,并且可能不如单核上的非线程算法那么有效。
发布于 2009-09-12 17:40:49
GPU是高度专业化的硬件,旨在非常好地完成一小部分任务,并且高度并行。这基本上是算术运算(特别是单精度浮点数学,尽管较新的GPU在双精度下做得很好)。因此,它们只适用于特定的算法。我不确定排序是否适合这个类别(至少在一般情况下是这样)。
更常见的例子是金融工具的定价,大量的矩阵数学,甚至defeating encryption (通过蛮力)。话虽如此,我还是找到了Fast parallel GPU-sorting using a hybrid algorithm。
另一个经常引用的例子是running SETI@HOME on an Nvidia GPU,但它是将苹果与橙子进行比较。与CPU通常所做的相比,GPU的工作单元是不同的(并且非常有限)。
发布于 2009-09-12 17:45:49
看一看
CUDA是一个并行算法的CUDA库,其接口类似于C++标准模板库(
)。Thrust为图形处理器编程提供了一个灵活的高级接口,极大地提高了开发商的生产力。
https://stackoverflow.com/questions/1415679
复制相似问题