5

我正在调查 GPGPU 是否可用于加速硬件模拟。我的理由是:由于硬件本质上是非常并行的,为什么要在高度顺序的 CPU 上进行模拟?

如果不是因为它们限制性的编程风格,GPU 将非常适合这一点:你有一个单一的内核运行,等等。

我对 GPGPU 编程的经验很少,但是否可以在 OpenCL / CUDA 中使用事件或队列?

编辑:通过硬件模拟,我不是指模拟,而是位精确的行为模拟(如在 VHDL 行为模拟中)。

4

2 回答 2

5

我不知道有关在 GPU 上进行 VHDL 模拟的任何方法(或映射离散事件模拟的一般方案),但在某些应用领域通常应用离散事件模拟并且可以在 GPU 上有效地模拟(例如交通网络,如本文本文中的网络,或化学系统的随机模拟,如本文中所做的那样)。

是否有可能以使离散时间步长模拟器可行的方式重新制定问题?在这种情况下,GPU 上的模拟应该更简单(并且更快,即使它看起来很浪费,因为时间步必须足够小 - 例如,请参阅这篇关于基于 GPU 的元胞自动机模拟的论文)。

但是请注意,这仍然很可能是一个不平凡的(研究)问题,并且(还)没有通用方案的原因是您已经假设的:在 GPU 上实现事件队列很困难,而且大多数模拟由于巧妙的内存布局特定于应用程序的优化和问题修改,GPU 上的方法获得了加速。

于 2011-09-09T19:08:34.547 回答
3

这超出了我的专业领域,但似乎虽然以下论文讨论的是门级模拟而不是行为模拟,但它可能包含一些有用的想法:

Debapriya Chatterjee、Andrew Deorio、Valeria Bertacco。使用 GPU 计算进行门级仿真 http://web.eecs.umich.edu/~valeria/research/publications/TODAES0611.pdf

于 2011-09-11T18:17:50.820 回答