受益于在GPU上运行的通用算法示例?[关闭]


10

我正在寻找通用算法(与图形无关)的示例,这些算法已被证明在GPU上比在CPU上运行快一个数量级。我将使用这些示例来创造性地考虑可以在GPU上实现的其他算法。


字符串连接,睡眠排序
约伯

Answers:


10

马上想到一些事情:

一个专门的比特币客户端被编写为使用GPU来执行加密哈希。在典型的4核系统上,GPU客户端的性能通常比SMP CPU客户端好10倍以上。比特币取决于大量无关加密哈希的计算,这些哈希可以并行计算。

Folding @ Home项目提供了它们的分子动力学模拟一个GPU客户端。这些计算是在各种环境和条件下对原子之间的单个键进行的。数学是相对简单的,但是必须为每个键计算数十亿次,以模拟仅十亿分之一秒的活动。

GPU计算的支持者常用的“玩具”示例是n体问题

这些东西的共同点是它们令人尴尬地平行。即,该问题可以分解为对大型数据集执行多次的少量离散计算。这就是GPU擅长的一种计算。

依赖于先前计算结果的复杂计算不适用于GPU。


多个BOINC客户端具有GPU支持。SETI @ Home是另一个。
Brian Knoblauch

确实。有许多这样的项目,但是我不想将其作为一个全面的项目列表-只是指出它们的共同点。
greyfade

8

视频和音频转码就是一个很好的例子。这是从一种文件格式到另一种文件格式的转换。一个示例是MPEG-2至H.264。

注意视频转码与3D图形无关。您不能使用顶点和像素着色器对视频进行编码。


OP要求提供与非图形相关的示例。
kiamlaluno 2011年

6
@kiamlaluno对视频进行转码与图形无关,而在大多数情况下,音频转码与图形无关。这是从一种文件格式到另一种文件格式的转换。一个示例是MPEG-2至H.264。它不需要显示图形即可执行。
Thomas Owens

2
@kiamlaluno:视频转码与3D图形无关。您不能使用顶点和像素着色器对视频进行编码。
DeadMG

3

使用GPU 开采比特币已变得非常流行。

点对点电子现金系统 比特币的创建和转让基于开放源代码加密协议,不受任何中央机构的管理。每个比特币都细分为小数点后八位,形成了1亿个名为satoshis的较小单位。无需中间金融机构即可通过计算机或智能手机转移比特币。

比特币交易的处理由称为比特币矿工的服务器保护。这些服务器通过基于Internet的网络进行通信,并通过将它们添加到分类账中来确认交易,分类账会定期更新和存档。除了存档交易,每个新的分类账更新都会创建一些新铸造的比特币...

另一个应用是在金融市场上使用Black-Scholes等模型进行实时交易。

...使用期权的关键要求是计算期权的公允价值。寻找有效解决价格问题的方法已经成为三十多年来的活跃研究领域,并且仍然是现代金融工程的重点。随着更多的计算已应用于与财务相关的问题,寻找在现代体系结构上实现这些算法的有效方法变得越来越重要。

本章介绍如何使用GPU有效地对期权定价。我们使用两种不同的定价模型执行评估:Black-Scholes模型和点阵模型。这两种方法都可以很好地映射到GPU,并且在GPU上都比在现代CPU上都快得多。尽管两者都具有到GPU的直接映射,但是由于计算中的相互依赖关系,实现网格模型需要额外的工作...


2

康威的《人生游戏》就是一个很好的学术例子。

...生命游戏的宇宙是一个无限的二维正交方格,每个方格处于两个可能的状态,即活着或死了。每个单元都与其八个邻居进行交互,这八个邻居是水平,垂直或对角线相邻的。在每个时间步上,都会发生以下转换:

  1. 任何具有少于两个活邻居的活细胞都会死亡,好像是由于人口不足造成的。
  2. 任何有两个或三个活邻居的活细胞都可以存活到下一代。
  3. 任何具有三个以上活邻居的活细胞都会死亡,就像人满为患一样。
  4. 具有正好三个活邻居的任何死细胞都将变成活细胞,就像通过繁殖一样。

初始模式构成了系统的种子。第一代是通过将上述规则同时应用于种子中的每个细胞而创建的-生与死同时发生,有时发生这种情况的离散时刻称为“滴答”(换句话说,每一代都是纯函数)前一个)。这些规则继续被重复应用以创造更多的后代。


1

需要大量数学运算的问题可以同时完成。在我以前工作的地方,我们想与GPU一起玩以对2个矩阵进行加/减/乘以计算出遗传相关性。我第一次听说GPU是由一家金融软件公司用来进行一些建模(monte carlo等)。这将对代码破坏很有用。

在大多数常规程序中,只需几个CPU核就足够了,因为大多数常规程序只需要运行一些并发进程,GPU可能不会对您解决一些更常规的编程问题有很大帮助。(内存/磁盘的速度可能比我们目前快得多)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.