使用PyroSim软件将FDS网格分配给MPI的流程

简介

对于使用Fire Dynamics Simulator(FDS)进行的建筑设计计算,将模拟大量空间。为了描述此计算量,整个量的或者多个子部分称为“网格”,并由输入文件中的&MESH条目定义,使用不同分辨率的多个网格来定义模拟的计算域。大多数现代计算机的处理器具有多个“核心”或“线程”,并且FDS通过消息传递接口(MPI)功能使用MPI_PROCESS将分配参数线程。关键词。此功能程序将数量的网格同时分配给同处理器,以减少计算时间。


有关MESH记录上的MPI_PROCESS和N_THREADS参数的相关信息,可以在《FDS用户指南》的“多网格”中找到。该节相关的部分在下面引用供参考。


MPI计算中,网格分配有自己的进程,并且进程都有自己的处理器,可以进程分配以上的网格,也可以为处理器分配以上的网格。


示例六个网格:


&MESH ID ='mesh1',IJK = ...,XB = ...,MPI_PROCESS = 0 / 

&MESH ID ='mesh2',IJK = ...,XB = ...,MPI_PROCESS = 1 / 

&MESH ID =' mesh3',IJK = ...,XB = ...,MPI_PROCESS = 1 / 

&MESH ID ='mesh4',IJK = ...,XB = ...,MPI_PROCESS = 2 / 

&MESH ID ='mesh5',IJK = ...,XB = ...,MPI_PROCESS = 3 / 

&MESH ID ='mesh6',IJK = ...,XB = ...,MPI_PROCESS = 3 /


参数MPI_PROCESS指示FDS将网格分配给定的过程。在这种情况下要启动四个进程,编号为0到3。请注意,需要以从0开始的升序调用这些进程。


你为什么要这样做?假设您有四个处理器可用于此作业。通过启动四个进程而不是六个进程,您可以节省时间,因为'mesh2'和'mesh3'可以直接相互通信,而不通过网络使用MPI调用来传输数据。


mesh5”和“ mesh6”也是如此。要通过邮政系统相互通信。这些通信可以互通。



旧版本的PyroSim不允许在MESH行上进行记录。此限制要求用户从PyroSim导出FDS输入文件,在文本编辑器中手动编辑它以将MPI_PROCESS参数添加到MESH记录中,然后从命令行启动FDS模拟。该过程没有通过PyroSim启动和导览仿真的方法。



               图1.显示“记录”选项卡的“网格”对话框


在PyroSim 2015.4.1208中,“附加字段”表已添加到“网格编辑”对话框的”选项卡。这项新功能允许将MPI和OpenMP参数添加到PyroSim中的MESH行,不用手动导出和编辑文件并从命令行运行。


(2015年12月21日,编辑) PyroSim中的“运行FDS并行”选项将自动将MPI进程数设置为等于模型中的网格数。要使用PyroSim中的MPI_PROCESS功能,您需要控制要开始进行仿真的MPI进程总数。使用“运行FDS群集”选项而不是“运行FDS并行”来完成。在图2中在下面,您可以看到本地计算机如何使用单个主机名。在右侧列表中表下方的字段中看到8个网格时,该主机的进程数将设置为4。将启动4个进程,并分配2个网格通过MPI_PROCESS参数在附加网格记录中指定的过程。



这样的功能了Pyrosim的内置功能,并在设置和运行FDS仿真时节省了用户的时间和精力。

热门产品

2021-03-22 14:56
首页    技术文档    使用PyroSim软件将FDS网格分配给MPI的流程