0

我正在寻找一些可以移植到 gpgpu 以提高效率的 cpu 应用程序。除了图像处理区域之外,gpgpu 还能在哪些地方使用?这实际上是为了我的研究生项目。

4

3 回答 3

2

GPU 计算引擎的专用处理架构对于您遇到的任何数据处理问题都很有用:

  1. 大量数据
  2. 对该数据的每个元素执行的重要计算,
  3. 计算每个输出元素所需的输入数据适合 GPU 内存,或者可以在需要时进行编排以到达 GPU 内存。

如果可以同时对所有数据元素独立执行计算,这会有所帮助,但这不是严格要求的。

图像处理恰好是这种情况的一个例子——要处理的像素数量有限(但数量很大),并且可以在每个像素上并行执行许多图像算法。

其他示例包括:广义信号分析,例如处理音频信号。图像处理只是信号分析的一种特殊形式。模式识别,其中大部分挑战是将信号与噪声分离。语音识别,有人吗?3 维表面匹配,例如根据有机化合物化学键的弯曲角度确定有机化合物的形状,或者确定两种有机化合物是否可能以有趣的方式相互作用(例如,生物受体)。各种物理建模(碰撞模拟、地震分析等)。当然,还有密码学,你总是可以花更多的计算时间一次又一次地处理相同的数据。

GPU 计算引擎不太适合处理数据量显着使要执行的计算相形见绌的问题。GPU 可以很好地处理内存中的内容。将数据移入或移出 GPU 内存通常是整个计算中最昂贵的步骤,因此您需要确保有足够的计算继续“弥补”将数据加载到内存中的成本。如果数据太大而无法放入内存,则必须采用分布式计算策略。

例如,计算 PB 数据库的主键索引可能不太适合 GPU,因为大部分工作可能都花在将数据从硬盘上移到内存中。索引计算本身相当微不足道,这并不能带来非常有趣的 GPU 胜利,虽然我确信数据可以被分割成块,并且这些块由大量 GPU 核心独立索引,但数据的可变性可能会阻止 GPU 满负荷运行。(当所有“桨手”(处理器内核/线程)都朝着同一个方向拉动时,GPU 代码工作得最好——在单独的数据上统一执行)虽然数据库索引可能会通过使用 GPU 方法看到一些好处,但它肯定不会

于 2012-07-21T06:37:06.233 回答
0

找出哪些类型的应用程序非常适合 GPGPU 的最简单方法是查看其他团队已经实现的加速。以下是包含该信息的几个链接:

看起来军事/航空航天、生命科学、能源、金融、制造、媒体和其他一些较小的行业都有强劲加速的例子。

于 2012-07-21T12:50:52.803 回答
0

蛮力加密攻击?MD5 由Whitepixel完成,SHA-256 已由所有比特币矿工完成。另一方面,我不知道bcrypt()or的任何 GPU 实现scrypt(),但在该领域工作的学者可能是一个更好的人问。

于 2012-07-21T06:08:22.587 回答