Parallel GEM
概述
数值模拟并行计算是一种先进的计算技术,它通过在多个处理器或计算核心上同时执行计算任务来显著提高模拟的效率和速度。这种技术特别适合于解决那些需要处理大量数据和复杂算法的科学和工程问题。
在传统的顺序计算中,所有的计算任务都是在一个处理器上依次完成的,这在面对大规模或高复杂度问题时往往会遇到性能瓶颈。并行计算通过将问题分解成多个子任务,并在不同的处理单元上同时进行处理,从而突破了这一限制。这种方法不仅加快了计算速度,还使得研究人员能够在较短的时间内获得更深入的洞察力和更精确的结果。
并行计算的优势在于其能够充分利用现代多核处理器的计算能力,以及通过分布式计算系统跨越多个物理位置的计算资源。这使得数值模拟可以应用于更广泛的领域,包括但不限于流体动力学、气候模型、生物信息学、材料科学、金融工程等。
总之,数值模拟并行计算是一种强大的工具,它通过提高计算速度、降低成本和增强模拟能力,为解决当今世界面临的一些最紧迫的挑战提供了可能。随着技术的不断进步,我们可以期待并行计算在未来的数值模拟中发挥更大的作用。
GEM并行计算设置
如果您在使用启动器的PC上运行模拟,要实现并行运行,您可以修改模拟器图标,勾选“以多处理器模式运行模拟器”的复选框,对于双处理器机器,在“使用的处理器数量”后的框中输入2。这相当于使用命令行选项“-doms –parasol 2”。
命令行选项“-doms”相当于在数值方法控制部分使用“*DPLANES”。
命令行选项“–parasol n”的行为已更改,相当于使用:
*SOLVER *PARASOL
*PPATTERN *AUTOPSLAB n
*PNPROSL n
*PNTHRDS n
如果指定的n大于机器上的逻辑CPU数量,那么将使用“*PPATTERN *AUTOPSLAB n”以及“PNTHRDS m”,其中m是n和机器上的逻辑CPU数量的最小值。
因此,如果您希望使用关键词而不是命令行选项来设置并行选项,运行模拟器的基本关键词集是:
*DPLANES
*SOLVER *PARASOL
*PPATTERN *AUTOPSLAB n
*PNPROSL n
*PNTHRDS n
其中n是希望使用的逻辑CPU数量。
提高PARASOL运行中的求解器性能
有许多技术可以提高PARASOL运行中的求解器性能。
对于2或4个逻辑CPU,设置”PPATTERN 2″或”PPATTERN 3″可能同样有效(在某些情况下更有效)于相应的”*PPATTERN *AUTOPSLAB n”。
将*CHECKRB设置为”*CHECKRB *ON”将避免在红色单元格数量太少,不足以使系统简化有价值时使用红黑系统简化。
如果在运行结束时的.log文件中报告了大量求解器失败,则增加NORTH和ITERMAX通常有帮助,例如:
*ITERMAX 80
*NORTH 80
另一种提高求解器收敛性的技术是尝试使用更高阶的线性求解器,例如”*SEDGREE 2″。
如果您指定的*SEDGREE大于1(默认值),我们建议您还在数值方法部分使用:
*REORDER-CBDY *ON
这有助于减少类间引起的填充。
以上是我们发现的在默认设置下初始运行后最常使用的提高PARASOL性能的技术。尽管完整的PARASOL控制关键词允许比上述更详细的控制,但这些构成了一个很好的起点。
为了获得计时诊断,您可以在输入/输出控制部分放置:
*DEBUG *CPUTIME *ON
这将在日志和输出文件的末尾提供摘要,给出不同运行部分的经过时间(”墙上时钟”)和CPU时间的细分。同样,也可以通过使用命令行参数”-cputime”启用此选项。
JACPAR选项
从GEM版本2009.10开始,提供了一个基于parasol模式的并行分区的并行特性(JACPAR)。它使用基于连接的缓存级别本地化来构建雅可比矩阵和计算残差。在某些情况下,特别是在具有更多CPU的机器上,该特性可能使GEM中的并行处理更加高效。
要调用此功能,可以使用命令行选项–jacpar –parasol n,其中n表示要使用的逻辑CPU数量。
如果您希望使用关键词来使用parasol模式进行雅可比构建和残差计算的并行处理,基本关键词集将变为:
*JACPAR *ON
*SOLVER *PARASOL
*PPATTERN *AUTOPSLAB n
*PNPROSL n
*PNTHRDS n
其中n是希望使用的逻辑CPU数量。与DPLANES(-doms)不同,使用SOLVER PARASOL(-parasol)是JACPAR功能的必需。有关更多详细信息和例外,请参见数值方法控制部分下的*JACPAR关键词。
请注意,DPLANES和JACPAR是互斥的,即-doms和–jacpar选项不应一起使用。
默认情况下,启动器提供DPLANES(-doms)选项,因此要通过启动器使用JACPAR(–jacpar),您需要在提交/运行模拟作业对话框的“附加模拟器开关”区域手动输入–jacpar –parasol n。将n替换为所需的逻辑CPU数量,并保持对话框顶部的处理器数量不变(1)。