我正在寻找一些cpu应用程序,可以移植到gpgpu,以获得更好的效率。除了图像处理领域,gpgpu还能用在什么地方?这实际上是为了我的研究生项目。
发布于 2012-07-21 14:37:06
GPU计算引擎的专用处理体系结构对于任何数据处理问题都很有用,在以下情况下:
如果计算可以同时在所有数据元素上独立执行,这将有所帮助,但这并不是严格要求。
图像处理恰好是这种情况的一个例子-处理有限(但大量)的像素,并且可以在每个像素上并行执行许多图像算法。
其他例子包括:广义信号分析,如处理音频信号。图像处理只是信号分析的一种特殊形式。模式识别,其中的大部分挑战是从噪声中分离出信号。语音识别,有人吗?三维表面匹配,比如根据有机化合物的化学键的弯曲角度计算出它们的形状,或者计算出两种有机化合物是否可能以有趣的方式相互作用(例如,生物受体)。各种物理模型(碰撞模拟、地震分析等)。当然还有密码学,你总是可以花更多的计算时间一遍又一遍地检查相同的数据。
GPU计算引擎不能很好地处理数据量显著降低要执行的计算的问题。GPU可以很好地处理内存中的内容。将数据移入或移出GPU内存通常是整个计算中最昂贵的步骤,因此您需要确保有足够的计算来“弥补”将数据加载到内存的成本。如果数据太大,内存无法容纳,则必须采用分布式计算策略。
例如,计算be级数据库的主键索引可能不太适合GPU,因为大部分工作可能只是将数据从硬盘转移到内存中。索引计算本身是相当琐碎的,这并不能带来非常有趣的GPU胜利,虽然我确信数据可以被分割成块,并且由大量GPU内核独立索引的块,但数据的可变性可能会阻止GPU充分发挥其能力。(当所有的“桨人”(处理器核心/线程)都朝着同一方向工作时,GPU代码工作得最好--在不同的数据上均匀执行)虽然数据库索引可能会通过使用GPU方法看到一些好处,但它肯定不会像更适合GPU执行模型约束的东西--比如信号处理--比CPU基线有更大的性能提升。
发布于 2012-07-21 14:08:23
暴力破解密码攻击?Whitepixel已经完成了MD5,所有比特币矿工都完成了SHA-256。另一方面,我不知道有任何bcrypt()或scrypt()的图形处理器实现,但在该领域工作的学者可能是更好的人问。
发布于 2012-07-21 20:50:53
要找出哪些类型的应用程序非常适合GPGPU,最简单的方法是查看其他组实现的加速比。以下是这些信息的几个链接:
看起来,军事/航空航天、生命科学、能源、金融、制造、媒体和其他一些较小的行业都有强劲加速的例子。
https://stackoverflow.com/questions/11589856
复制相似问题