在过去几年中,通过OpenCL和CUDA等系统向数据并行编程进行了重大转变,即使在过去六个月内发布的书籍也从未提及数据并行编程的主题。
它并不适用于所有问题,但似乎存在一个尚未解决的重大差距。
答案 0 :(得分:2)
首先,我要指出并发编程不一定是并行编程的同义词。并发编程是关于从松散耦合的任务构建应用程序。例如,对话窗口可以与作为单独任务实现的每个控件进行交互。另一方面,并行编程明确地是将一些计算任务的解决方案扩展到多个执行硬件上,基本上总是出于某种性能原因(注意:即使是太少的RAM也是替代方案的性能原因)正在交换。
所以,我不得不问:你指的是什么书?它们是关于并发编程的(我有一些这样的,那里有很多有趣的理论),或关于并行编程?
如果他们真的是关于并行编程,我会做一些观察:
答案 1 :(得分:1)
我认为今天在学术上使用并行计算的人通常来自集群计算领域。 OpenCL和CUDA使用图形处理器,它们或多或少地无意中已经发展成通用处理器,同时开发了更先进的图形渲染算法。
然而,图形人和高性能计算人员已经相互“发现”了一段时间,并且正在进行大量研究或使用GPU进行通用计算。
答案 2 :(得分:0)
“总是”有点强烈;有资源(example)包含数据并行主题。
答案 3 :(得分:0)
Hillis的经典着作“The Connection Machine”是所有数据并行性的。这是我的最爱之一