我正在调查GPGPU是否可以用于加速硬件模拟。我的推理是这样的:由于硬件本质上是非常并行的,为什么要在高顺序CPU上模拟?
如果不是因为GPU受限的编程风格,GPU在这方面将非常出色:您只有一个内核在运行,等等。
我没有GPGPU编程的经验,但是可以在OpenCL / CUDA中使用事件或队列吗?
编辑:我所说的硬件仿真不是指仿真,而是比特精确的行为仿真(就像VHDL行为仿真一样)。
发布于 2011-09-10 03:08:35
我不知道关于在GPU上进行VHDL语言模拟的任何方法(或映射离散事件模拟的一般方案),但在某些应用领域,通常应用离散事件模拟,并且可以在GPU上高效地模拟(例如,在this paper或this one中的交通网络,或在this paper中所做的化学系统的随机模拟)。
有没有可能以一种使离散时间步进模拟器可行的方式重新制定问题?在这种情况下,GPU上的模拟应该更简单(而且更快,即使它看起来很浪费,因为时间步长必须足够小-例如,请参见基于GPU的细胞自动机模拟中的this paper )。
然而,请注意,这仍然很可能是一个不平凡的(研究)问题,没有一般方案的原因(还没有)是您已经假设的:在GPU上实现事件队列是困难的,并且由于巧妙的内存布局和特定于应用程序的优化和问题修改,GPU上的大多数模拟方法都可以获得加速。
发布于 2011-09-12 02:17:51
这超出了我的专业领域,但似乎下面的文章讨论的是门级模拟而不是行为模拟,它可能包含一些有用的想法:
德巴普里娅·查特吉,安德鲁·德奥里奥,瓦莱里娅·贝尔塔科。基于图形处理器计算http://web.eecs.umich.edu/~valeria/research/publications/TODAES0611.pdf的门级仿真
https://stackoverflow.com/questions/7364909
复制相似问题