N体模拟的弱缩放

计算科学 高性能计算 缩放
2021-12-09 08:19:55

我将做一些弱缩放N-AWS 上的车身集成商。过去,当我对此积分器进行弱缩放时,我已经固定了每个核心的粒子数(N/n=const)。

但是,当我这样做时,我得到一个与nα在哪里n是核心数,与N, 和α1. 这是因为涉及的计算数量N- 身体模拟是N2. 因此,当我将核心数量增加一倍时,我也会将粒子数量增加一倍,这实际上使工作量翻了两番。因此,我得到一个至少是线性的缩放比例n.

我对弱扩展的理解是你应该解决每个核心的问题大小。在这种情况下,对我来说,固定每个核心的功比固定每个核心的粒子数更正确吗?

1个回答

可以用许多不同的方式定义弱缩放:

  • 每个处理器的工作量保持不变
  • 每个处理器的通信量保持不变
  • 每个处理器的内存使用量保持不变。
  • 每个处理器的对象数保持不变。

在许多情况下,所有这些都将是相同的,特别是如果工作量、内存和通信量与对象的数量成正比。但在某些情况下并非如此。在这些情况下,请选择其中一种定义,并在描述中明确说明您在做什么。

(顺便说一句,对于N-body 模拟,你真的应该使用类似多极展开的东西来避免N2瓶颈...)