【问题标题】:Is this simulation appropriate for CUDA or OpenCL?这个模拟适合 CUDA 还是 OpenCL?
【发布时间】:2012-08-01 04:32:20
【问题描述】:

我代表一位从事数值天体物理学工作的朋友提问。

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

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

也许我完全错了。

【问题讨论】:

  • 有没有类似的为 CUDA/OpenCL 编写的程序?它们有何不同?
  • @pst 看起来周围有一些流体动力学的例子,但每个细胞只与其相邻的细胞相互作用,而实际上,由于重力的相互作用发生在所有细胞之间,
  • 是的,天体物理学模拟非常适合在 GPGPU 硬件甚至 FPGA 上运行。参见项目GRACE

标签: parallel-processing cuda gpu computation


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      对于天体物理模拟,以下链接可能有用:http://www.astrogpu.org/

      【讨论】:

      • “从广义上讲,受内存限制的算法(即每个内存事务相对较少的算术运算)往往从卸载到 GPU 中受益最多。”反之亦然——计算绑定算法往往会从移植到 GPU 中获益最多。
      • 我应该说的是具有高数据级并行性的应用程序更有可能受益,这本来是一个更准确的说法。 GPU 通常比 CPU 具有更高的带宽与 FLOP 比率,因此受内存限制的内核将受益,但整体观点是复杂的。有关该问题的研究,请参阅 Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU
      猜你喜欢
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 2017-03-20
      • 2021-07-12
      • 2021-11-03
      相关资源
      最近更新 更多