使用comsol®批处理利用硬件并行性

2020年6月2日

ComsolMultiphysics®软件的核心功能之一是能够运行批处理的能力,其中同一模型的多个变体并行求解,但在同一计算机上完全独立的作业求解。凭借高核计数CPU的普遍性以及支持多个CPU的计算机,您可以使用此功能实现重大的加速批处理功能。让我们找出如何!

快速介绍批处理

正如任何关注计算机硬件的人都知道的那样,每一代处理器技术都会带来重大改进。长期以来,时钟速度逐年提高,但这种趋势停滞不前,现在,制造商正在趋向于将越来越多的核心放入每个CPU。

默认情况下,comsol®软件将使用所有可用的内核来求解每个型号,但这并不一定是有益的。许多comsol多物理模型只是部分平行,甚至完全串行,因此,拥有更多专用于单个模型的节点本身可能不会导致加速,尤其是在模型相对较小的情况下,就其内存需求而言相对较小。

实际上,这意味着,新一代的多功能CPU不一定会比较旧的CPU更快地运行一个相对较小的COMSOL多物理学工作,但他们将能够同时运行更多的工作。在我们解决了同一模型的多个变化的情况下,例如在几何尺寸,不同的操作条件或操作频率上扫描时,这为我们提供了显着的净改进。这批处理功能是针对此类情况的。

在我们使用批处理界面,关于其操作有一些重要的事情。第一的,批处理可以启动多个完全独立的comsol多物理流程或作业。这些工作不知道其他工作在做什么。如果一个案例失败,它不会影响其他任何事情,但是我们也将无法通过案例之间的结果。

其次,每个作业都会将文件写入包含该作业结果的磁盘,并且可以选择地,所有这些结果都可以合并回原始文件。

第三,在运行这些作业时,该软件将自动在可用的计算内核之间分配并行作业。

最后,批处理是Comsol多物理学的核心功能的一部分。它是用于在一台计算机上运行的(尽管很可能具有多个CPU),并且任何许可证类型都可以使用。这是簇扫功能(仅适用于浮动网络许可证),该功能提供了类似的功能,但可以在集群的不同计算节点上划分作业。

批处理的设置

能够使用批处理功能,您必须首先启用批处理和集群选项显示更多选项模型构建器的对话框。此对话框显示在下面的屏幕截图中。

comsol Multiphysics中的模型构建器带有节目更多选项对话框打开。
显示更多选项模型构建器中的对话框。

一旦启用了此功能,您将能够添加批处理功能学习分支。此功能将始终存在于学习,可以将其视为围绕其中存在的所有其他研究步骤包裹的前循环学习分支。

批处理扫描功能的设置窗口,相关设置突出显示。
相关批处理功能设置。

用户界面的批处理如上所述,相关功能突出显示。首先,在最顶部,我们指定要扫描的参数的名称以及该参数的不同值的数量进行研究。接下来,启用同步解决方案选项将将所有结果组装回单个文件。如果未启用此操作,则批处理扫描只会编写一组不同的文件。扫描中的每个参数一个。(这实际上可能是一个有吸引力的选择,因为您可以迅速获得很大的文件,因此也可能值得考虑在每个文件中节省更少的数据。)最后一个关键设置位于窗口的底部:同时作业的数量,它决定并行运行多少个作业。

另外,请记住批处理可以缠绕其他任何类型的扫描:参数,,,,功能,,,,材料,,,,辅助的, 或者频率扫描,因此您可以使用一个批处理解决任意案件组合的工作。

那么,我们实际上应该并行运行多少工作?这是我们将要考虑的下一个问题。

comsolMultiphysics®可以利用多少批次并行性?

正如您可能已经推测的那样,这个问题的答案既是硬件和模型依赖性。

在模型类型方面,理想情况批处理在内存需求方面,模型很小,但需要相对较长的时间来解决。这样一个模型的一个很好的例子是激光加热硅晶片示例。该模型可以解决随着旋转晶圆移动的激光热源的时间的温度演化。它只有大约2000度的自由度,但是在典型的台式计算机上解决了大约一分钟的墙壁锁定时间。我们可以在此模型中扫描许多不同的参数,因此让我们看看该模型的性能如何通过典型的现代台式计算机上的作业并行性扩展。

我们将提供的结果是在Intel®Xeon®W-2145 8核处理器上生成的,该处理器带有32 GB RAM,这是Comsol中建议的典型中端计算机硬件建议。在此硬件上,测试案例模型需要大约一分钟的时间来解决。如果我们对模型的16个变化进行参数扫描,则解决方案时间与已求解的不同情况的数量线性上升。如果我们也使用批处理,我们可以在此硬件上并行研究2、4、8,甚至16个作业,每个批次扫描作业包含顺序参数扫描,如下屏幕截图所示。

在Comsol多物理学中执行嵌套批处理扫描的设置的屏幕截图。
屏幕截图显示嵌套扫荡。在此示例中,外部批处理扫描超过n = 0,4,8,12,而内部扫描总共解决了16例。

下面的结果是根据解决16个案例和相对加速的时间介绍的。

参数扫描 批处理 +参数扫描
16个顺序病例 2个平行工作
(每个工作8个顺序案例)
4个工作
(4个案例/工作)
8个工作
(2个案例/工作)
16个工作
(1个案例/工作)
时间(秒) 1010 620 416 305 267
加速 1 1.6倍 2.4倍 3.3倍 3.8倍

从这些数据中观察到,当我们同时运行更多作业时,我们会获得更多的加速。最有趣的是,我们可以看到我们可以在8核机上并行解决16个工作,并且仍然可以观察到加速。换句话说,此CPU的每个内核实际上都可以立即处理两个COMSOL®作业,至少在求解此特定模型时。该计算机上启用了超线程,尽管这并不能加快解决方案本身,但文件打开和关闭和其他操作系统流程受益于启用超线程。现在,在许多情况下并行运行这么多案例确实会减慢解决每种情况所需的时间,但是所有16个情况所需的总时间较小。

讨论如果我们试图在记忆方面并行运行更多作业,将会发生什么。该模型每个批处理作业需要大约1 GB的内存,并且这里的测试计算机具有32 GB RAM,因此16个并行案例没有问题。但是,如果我们达到32个并行案例,我们可能会超过可用的RAM,这将导致放缓,无论核心数量多少。当然,在具有更多RAM,更多核心和多个CPU的计算机上,我们可以获得更多相对的加速。此外,comsol多物理不会限制可以在一台计算机上解决的内核或CPU的数量。

现在,这些数据看起来非常好,几乎可以肯定,您在这一点上询问您是否总是会得到这么好的结果。不幸的是,答案是:并非总是如此。我们解决的模型越大,我们将看到的速度就越少。对于非常大型的型号,如果您并行运行作业,将会有所放缓。但是,对于许多型号,尤其是大多数2D型号和较小的3D型号,您可以合理地期望使用类似的改进批处理在多功能,多CPU计算机上。所以批处理功能可以强烈激励投资于这种硬件。另外,还有很多其他力量批处理讨论的功能以前的博客文章。请记住,这是所有许可类型的Comsol多物理学的核心功能!

英特尔和Xeon是英特尔公司或其子公司的商标。


评论(0)

发表评论
乐动体育app
加载...
探索comsol乐动体育赛事播报博客