SMP: Shared Memory Parallelism,共享式多核计算。
1、原理:
指所有的处理器(CPU共享内存),而每一个CPU内可能含有不同的Core数。因此当接到计算工作时,系统会根据各个CPU的负载平均分配工作量给每一个 CPU。SMP串行计算所有CPU共同计算一个模型的单元应力、应变、接触、边界条件、节点加速度等。
SMP
2、特点:
SMP 只能在一个计算机上计算,且计算内存共享,可以调用的计算内核最多为16个CPU,超过16个CPU计算效能很难提升。
3、 适用类型:隐式计算只能用SMP求解器。
4、 计算效率:显式计算CAE模型越大SMP求解器的求解效率越低。
5、 缺点:
若是计算工作量太大,内存容易不足,造成系统可能无法执行或是执行速度缓慢。
MPP: Massively Parallel Processing,分布式多核计算。
1、计算原理:
分布式多核计算的每一个CPU 都有自己的Core数,而在接受计算工作以前,计算工作及资料被提前分割好,并可以指定要将那一步部分的计算交由指定的CPU去执行,最后再根据网路的设定,将每一部分的资料串联在一起,最终完成计算任务。
MPP并行计算依据占用的CPU数量将一个模型划分成若干个区域,每个CPU"包产到户",在每一个计算周期内单独计算各自区域内的单元应力/应变、接触、边界条件、节点加速度等信息,然后与周围其他相关区域进行同步数据交换,从而使区域边界的信息统一。
MPP
2、特点:
MPP可以在单台计算机或者集群计算机上计算,且计算内存相互独立,可以调用的CPU核数远远超过16核。
MPP需要在系统中安装一个MPI或信息传递接口(例如,Platform MPI、Open MPI、Intel MPI等)。MPI软件和动态库需要安装在本地机器上,且LS-DYNA程序可以引用它们。MPP 计算时任务的目录是在本地计算节点还是管理节点都可以,如果集群有 NFS 网络和IB,那么系统就可以在NFS磁盘上运行。但是为了获得最佳性能,我们建议使用本地磁盘。
3、适用类型:
显式计算既可以使用SMP求解器,也可以使用MPP求解器。
4、计算效率:
显式计算CAE模型越大,使用的计算机CPU数量越多,则MPP求解器相对于SMP求解器的优势就越明显。因为MPP求解器是各CPU 对模型"分片包干"后并行计算的,CPU数量翻倍,计算效率翻倍。
分块模式可以是求解器自动分块,也可以由用户自定义分块,用户自定义分块可以根据需要将CPU 集中分配给计算量大的区域(如高度非线性区域),这可以说是MPP求解器相对于SMP 求解器的一个独特优势。
5、缺点:
MPP 求解随着 CPU 数量的增多,不同的 CPU 数量、不同的分块方式,会导致计算结果产生差异。
(1) *CONTROL_MPP_IO_NODUMP:抑制所有转储文件和完整卡组重启文件的输出。没有输入参数。此关键字的存在导致跳过 d3dump 和 runrsf 文输出例程。它还抑制完整卡组重启文件 d3full 的输出。
(2) *CONTROL_MPP_DECOMPOSITIN :定义 MPP 的分布方法。
(3) *CONTROL_MPP_DECOMPOSITION_TRANSFORMATION:通过指定的方法修改分块方式。
(4) *CONTROL_MPP_DECOMPOSITION_AUTOMATIC:使求解器应用一个简单的启发式方法来对模拟过程进行适当分布。
(5) *CONTROL_MPP_DECOMPOSITION_CHECK_Speed:根据从处理器的相对计算速度修改模拟计算分布。
(6) *CONTROL_MPP_DECOMPOSITION_CONTACT_DISTRIBUTE:保障接触分布在所有计算处理器上,还可以为大型接触带来更好的负载平衡。
(7) *CONTROL_MPP_DECOMPOSITION_CONTACT_ISOLATE:使得接触在单个处理器上隔离,从而减少相互通信。
(8) *CONTROL_MPP_DECOMPOSITION_FILE:允许定义预分布、或者后续运行,以及无定义分布运行。
(9) *CONTROL_MPP_DECOMPOSITION_NUMPROC:定义分布的处理器数量
做整车碰撞分析时,一般采用MPP并行计算,此时LS-DYNA默认会根据网格数量均匀切分模型,保证每个计算节点计算负载均衡。但是此种切分方式不能考虑材料复杂度,因此当被分配到采用高复杂度材料单元的节点计算效率将明细低于其他节点,拖慢计算效率。所以,可以将应用高复杂度材料(如Crachfem失效材料)的零件定义成一个Part_set,通过关键字*CONTROL_MPP_DECOMPOSITION_PARTSET_DISTRIBUTE在DYNA并行计算中平均分配至所有计算节点上,保证计算效率。