Parallel processing 此模拟是否适用于CUDA或OpenCL?

Parallel processing 此模拟是否适用于CUDA或OpenCL?,parallel-processing,cuda,gpu,computation,Parallel Processing,Cuda,Gpu,Computation,我是代表一个从事数值天体物理学的朋友问的 基本上,他所做的是模拟一团气体。电池数量有限,时间步长的定义使得气体在每一步中不能穿过多个电池。每个电池都有密度和温度等特性。每个时间步都需要计算这些(和位置)。我认为主要是位置问题,因为它主要受细胞间重力相互作用的影响,所有这些相互影响 目前,他正在一个大约150个节点的集群上运行这个,但我想知道,如果它可以像这样并行化,那么使用CUDA在几个GPU上运行会更快吗?目前,他需要几天的时间来完成一个模拟。由于GPU通常有约500个内核,因此它们似乎可以提

我是代表一个从事数值天体物理学的朋友问的

基本上,他所做的是模拟一团气体。电池数量有限,时间步长的定义使得气体在每一步中不能穿过多个电池。每个电池都有密度和温度等特性。每个时间步都需要计算这些(和位置)。我认为主要是位置问题,因为它主要受细胞间重力相互作用的影响,所有这些相互影响

目前,他正在一个大约150个节点的集群上运行这个,但我想知道,如果它可以像这样并行化,那么使用CUDA在几个GPU上运行会更快吗?目前,他需要几天的时间来完成一个模拟。由于GPU通常有约500个内核,因此它们似乎可以提供一个提升


也许我完全错了。

如果不了解模拟的更多细节,就无法确定它是否会提高性能。从广义上讲,内存受限的算法(即每个内存事务相对较少的算术运算)往往从卸载到GPU中获益最多


特别是对于天体物理模拟,以下链接可能有用:

是的,这听起来像是GPU的一个不错的应用程序。GPU处理在大数据集上运行相同功能时最有效。如果你已经让它在集群计算机上并行运行了,我会说在单个图形卡上编写并测试它,看看这是否是单个集群上的改进,然后相应地扩展

您描述的任务非常适合GPU。GPU已成功地用于显著提高粒子、空气动力学和流体模拟等领域的性能

是否有为CUDA/OpenCL编写的类似程序?它们之间有什么区别?@pst看起来有一些流体动力学的例子,但每个细胞只与其相邻的细胞相互作用,而实际上,由于重力的相互作用发生在所有细胞之间,是的,天体物理模拟非常适合在GPGPU硬件甚至FPGA上运行。从广义上讲,内存受限的算法(即每个内存事务相对较少的算术运算)往往从卸载到GPU中获益最大另一种情况是,将计算绑定的算法移植到GPU中会带来最大的好处。我应该说的是,具有高数据级并行性的应用程序更有可能受益,这是一个更准确的说法。GPU通常比CPU具有更高的带宽-浮点比,因此内存受限的内核将受益,但总体来看是复杂的。有关该问题的研究,请参阅。