新闻动态

News Center

打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

发布日期:
2026-01-21

浏览次数:

本文将分享在多种硬件平台上实现高效、稳定的 LS-DYNA MPP 仿真的一系列实践经验。内容涵盖如何为系统选择最合适的 LS-DYNA 可执行文件,如何识别并解决并行计算中的效率瓶颈,包括通过用户自定义的区域划分优化计算性能。参会者将了解到如何通过调整系统设置、合理分配计算资源、采用 Hybrid MPI/OpenMP 执行模式以及进行处理器绑定,在现有硬件上最大化仿真性能。此外,还将介绍基于最新 x86 与 Arm 架构芯片的 LS-DYNA 基准测试结果。最后还将重点介绍如 OneMPI 等 LS-DYNA 最新的 MPP 特性。
  • 选择合适的LS-DYNA求解器程序

  • LS-DYNA模型调优

    • 域分解技术(Domain Decomposition)

    • 如何检测负载不平衡

    • 分区文件 pfile -负载均衡调整的前置步骤

    • MPP接触

    • 特殊分块策略

    • 重新分块(Redecomposition)

    • 用户定义单元与材料的再分块

  • 如何最大化现有硬件的性能表现

    • LS-DYNA Undersubscription

    • LS-DYNA Hybrid 模式

  • 采用最新的硬件

  • LS-DYNA MPP一致性

  • LS-DYNA MPP新功能介绍

  • 总结


// 特殊分块策略


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


如需可视化分解分块结果(各子域及其所属处理器),可在输入文件中加入下列任一张关键字:

  • *CONTROL_MPP_DECOMPOSITION_SHOW

    执行模型分块分解后立即终止,并在当前目录输出 D3plot。

  • *CONTROL_MPP_DECOMPOSITION_OUTDECOMP

    正常完成计算,同时将分块分解信息写入 decomp_parts.lsprepost。计算结束后,在 LS-PrePost 中载入该文件即可得到与示例图一致的子域-处理器对应视图。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


LS-DYNA的默认剖分未必对应最佳并行效率;一旦监测到负载不均,可通过调整初始分解来改善。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)



关键字 *CONTROL_MPP_DECOMPOSITION_AUTOMATIC 即提供此类功能:依据模型初始运动状态自动生成子域,当处理器数量 ≤16 时效果尤为明显。对比图显示,左侧黄框区域为碰撞区域,默认剖分方式仅有两片子域的处理器处理前保险杠的计算,而添加了*CONTROL_MPP_DECOMPOSITION_AUTOMATIC关键字的方案则把计算区域切成八份,使全部处理器都可以同步参与接触计算,显著缩短空闲等待,避免计算资源浪费。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


MPP剖分另一可选关键字为 *CONTROL_MPP_DECOMPOSITION_TRANSFORMATION。图示默认剖分(左下模型)在碰撞区仅切出两块子域;借助该关键字,可对坐标系施加任意旋转或缩放。示例中先绕 Z 轴旋转 −30°,再将 Y 方向尺寸放大 100 倍,两种变换叠加后,前保险杠区域被重新剖分为八块。实测表明,该方案与使用*CONTROL_MPP_DECOMPOSITION_AUTOMATIC关键字剖分结果相近,运行时间较默认设置缩短约 15%,其加速原因同样在于更多处理器可同步参与同一接触区域计算。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


置碰撞最佳实践:相对默认剖分,沿 Z 向拉伸坐标未明显改善负载不均问题,而沿 Y 向缩放坐标可令子域在碰撞区内充分细分,实测提速约 40%,为当前最优分块方案。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


侧碰模型最佳实践:仅沿 X 方向拉伸坐标即可让更多子域处理器同时覆盖接触区域,属可行方案;若追求更均衡的径向分布,可改用圆柱坐标。在 P 文件pfile内声明 CYLINDRICAL,给出原点、轴线方向向量,LS-DYNA 即按 θ-径向-轴向执行 RCB 切割 ,同样能使空闲处理器卷入接触计算。实测中,把 Y 方向尺度放大 5000 倍后再叠加圆柱变换,或单独采用圆柱分解,均可获得理想的侧碰工况并行计算效果。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


碰最佳实践亦彰显 pfile 之必要:此类剖分变换仅能在 pfile 中定义。先划定区域decomp(上图中黄框内所示),指定区域为 partsets 702,定义壁障模型;随后施加变换-绕 Z 轴旋转 −15°,Y 向缩放 100 倍,从而生成壁障模型子域。剩余车体部分则另行执行 Y 向 100 倍缩放,完成二次剖分。借助该分区方案,整体计算耗时缩减约 12%。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


侧面碰撞的最佳实践如下:仅将整体坐标沿 X 向缩放1000 倍即可改善剖分结果,相对性能曲线已出现正向提升。更优方案需借助 P 文件,因为必须引入区域定义才能精确控制护栏-车体接触对的切分。步骤为:先以 SI 列表把界面 10、11、12、13(汽车-护栏接触面)设为目标区域;随后在该区域施加 X 向 1000 倍缩放,再列出分组,即希望参与该剖分的处理器数量,本案例中为16 核处理器,分组留空则默认启用全部处理器。剩余模型另做一次 X 向 1000 倍缩放。该策略将侧面碰撞算例的计算时间压缩近 40%,为当前测试平台下的最优剖分配置。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

一关键字为 *CONTROL_MPP_DECOMPOSITION_PARTSET_DISTRIBUTE,其功能是将指定部件集分配至全部处理器。对于采用用户自定义材料的模型,该指令尤为有效:由于 LS-DYNA 无法预判此类材料的计算成本,默认分解常导致负载不均,通过手动将这些部件进行分块可显著改善平衡性。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)


示例回溯前述负载曲线,如左上图表所示这里存在严重的负载不平衡,处理器 1–4、24 与 45–48 在处理壳单元时耗时异常,其余处理器则伴随长段空等。原因可能使用了用户自定义材料的壳单元。因此可以将含有该用户定义材料的部件加入部件集,借助 *CONTROL_MPP_DECOMPOSITION_PARTSET_DISTRIBUTE 关键字命令所有处理器共同承担该部件集计算。如右下图表所示,处理器之间的负载平衡明显改善,运行时间缩减 约35%。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

一张关键字 *CONTROL_MPP_DECOMPOSITION_ARRANGE_PARTS 与 PARTSET_DISTRIBUTE 近似,区别在于可限定参与计算的处理器数量。当总处理器数量极大时,若把微小部件集分配给全部处理器,反而增加MPI 成本且降低并行效率;该关键字允许在“少数处理器”与“全处理器”之间取中,以权衡通信代价与负载均衡。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

安全气囊模型为例,车内共小、中、大三个安全气囊,运行规模192个处理器,若强制全部处理器同时处理每一只安全气囊,MPI通信成本将显著增加  。实际做法是为小型安全气囊分配32个处理器,中型安全气囊分配64个处理器,大型安全气囊分配96个处理器;该分配方式使负载在各组内趋于均衡,通信域缩小,最终获得该模型在192个处理器上的最佳性能表现。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

针对安全气囊的专用关键字为 *CONTROL_MPP_DECOMPOSITION_BAGREF。默认剖分以初始几何为依据,对折叠或压皱状态下的安全气囊并不适用;左下示例图表明,粒子与织物接触数据需在多处理器间频繁转换及传递,导致并行效率受限。使用该关键字后,分解基准改为参考几何体,即气囊完全展开时的形状,从而改善负载分布并获得更优性能。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

LS-DYNA MPP提供专为 SPH 单元设计的关键字 *CONTROL_MPP_DECOMPOSITION_SPH_ELEMENTS。由于 SPH 单元的计算成本高于壳单元与实体单元,其负载集中现象尤为明显。示例中,可以从左下图表观察到,处理器 66–76 在 SPH 单元上的耗时显著高于其他处理器;借助该关键字,可将这些单元均匀分配至全部处理器,使负载在处理器间重新分布,实现右侧曲线所示的均衡效果。


此外LS-DYNA MPP还提供专为 ALE 单元设置的关键字*CONTROL_MPP_DECOMPOSITION_DISTRIBUTE_ALE_ELEMENTS,其用途与 SPH 类似:因 ALE 单元计算成本同样高于壳单元与实体单元,可通过该关键字将 ALE 单元重新分发给所有处理器,以缓解负载不均。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

关键字 *CONTROL_MPP_DECOMPOSITION_DISABLE_UNREF_CURVES,其作用是禁止未参与边界或载荷定义的处理器计算载荷曲线。默认情况下,每个处理器在每个计算周期都会评估所有载荷曲线,即使这些曲线并未被实际使用,这种重复操作会消耗大量时间。当禁用未引用的载荷曲线后,未参与边界或载荷的处理器将跳过曲线计算,从而提升并行效率。


// 重新分块(Redecomposition)


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

前所述,默认采用 RCB 方法并依据初始几何划分模型;对于存在相对运动或严重变形的模型,该策略可能引发扩展性问题。关键字 *CONTROL_MPP_DECOMPOSITION_REDECOMPOSITION 可在计算过程中重新对模型进行分块:若选用其单次选项,则仅执行一次重分块;亦可通过其他参数设定,使模型在整个仿真期间持续进行重分解。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

图通过两个示例说明何时使用再分解:

案例一车辆涉水:水体保持静止,车辆在水体中移动,存在相对运动。使用该关键字可以提升性能,分解过程的变化如图所示。轮胎的单元和水粒子的单元被分配在同一处理器上,以减少 MPI 通信成本。通过使用该关键字,减少了网络通信流量,并且将相邻的单元保持在同一处理器上。从 D3PLOT 时间间隔可以看出,使用重新分块后,时间间隔更加平稳。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

案例二鸟撞:同样涉及相对运动的部件,即鸟体和风扇叶片。对比默认分块与再分块,默认分块撞击瞬间将两者切分至不同子域;启用再分块后,鸟体蓝色粒子与叶片蓝色单元被置于同一处理器,继续保留在本地计算域内,无需跨处理器交换数据,通信成本降低。


// 用户定义单元与材料的再分块


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

LS-DYNA 无法预估用户定义单元及材料的计算成本,默认分解因而可能失衡。可用解决方案包括前述的部件分布和部件排列的方法 PARTSET_DISTRIBUTE 与 ARRANGE_PARTS,亦可采用“再分块”方法。第一次运行时通过分区文件将各部件运行时间成本存储在 DECOMP_TIMING.OUT,第二次运行将该时间文件作为 pfile 输入,LS-DYNA 实际的计算成本重新剖分子域,从而修正首次出现的负载不均问题。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

上述讨论可知,模型应沿冲击面法向或初始速度方向剖分,使多个处理器同时覆盖任一接触区域;高耗时的计算对象特征、接触及单元须均匀分配至全部处理器。前文列出的关键字可协助完成该目标。需要特别注意的是,用户自定义单元与材料的计算权重无法被 LS-DYNA 自动识别,极易引发剖分不均衡。


如何最大化现有硬件的性能表现


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

本节简要介绍 BIOS 系统调优、进程绑定、超线程设置( Undersubscription)    以及 Hybrid LS-DYNA。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

获得最佳性能,首要建议是禁用多超线程选项。在 LS-DYNA 中,可执行 lscpu 命令,查看输出中的每核线程数Thread(s) per core,若其值为 1,即表明超多线程已禁用。若为 root 用户 ,还可通过 dmidecode 命令核对核数物理核心数量 与线程数是否一致,以进一步确认。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

用cpu超频功能时,可读取 CPU 运行频率:若实时兆赫数高于 lscpu 所列基础频率,即表明cpu超频已激活。若相关配置缺失,请联系 IT 部门协助设置。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

评估增加计算核数 对仿真效率的影响,可查阅 D3HSP 文件末尾的时间统计信息,重点比较单元处理时间与接触算法时间的占比。若单元处理时间占比高,由于该部分计算高度向量化且并行扩展性良好,继续增加核数可显著提升性能;若接触算法时间占比高,则增加核数的收益将迅速递减,此时建议改用 Hybrid 或 Undersubscription 模式。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

接下来关注 pfile 的目录选项。对于集群作业,建议把临时文件目录设为本地路径:本地磁盘读写远快于共享存储,可消除网络延迟和并行文件系统带来的额外成本。


减少非必要的文件写入和传输,同时可在 pfile 通用段加入 nofull、nodump 抑制重启文件写入,或用 nobeamout 关闭单元失效报告,以节省磁盘带宽。另外,nobeamout 选项可以抑制单元失效报告。更多 pfile 的选项介绍请查阅《用户手册附录 O》。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

下面说明 Intel MPI 下的进程绑定方法,以保证硬件资源被高效利用。

1. 查看绑定状态

    在命令行设置 I_MPI_DEBUG=5,LS-DYNA 启动前会把进程绑定信息输出到标准输出面板;

2. 将负载均匀分配至各 NUMA 节点,并可减少远程内存访问

    Undersubscription 模式且核数少于系统可用核数,设置I_MPI_PIN_DOMAIN=numa即可实现;

3. 通过Undersubscribe 减少资源争用

    同样使用 I_MPI_PIN_DOMAIN=numa,使用相同的环境变量,并用相应选项指定每节点处理器数量。例如4节点,使用 96 核中的 72 核作业;

4. 绑定到特定核心

    通过 I_MPI_PIN_PROCESSOR_LIST=0,2,4,6… 可按列表手动精确指定核心;

5. 由 IMPI 自行决定绑定方式(推荐)

    设置 I_MPI_PIN=1 让 Intel MPI 自行决定绑定方式,效果良好且同时适用于 Intel 与 AMD 平台;在Undersubscription场景下,运行时库会自动置 ;I_MPI_PIN_DOMAIN=NUMA。若不确定如何绑定,采用此选项即可。


打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)

上图给出了 Open MPI 的进程绑定参数,其功能与 Intel MPI 类似,仅名称不同。

更多内容欢迎持续关注摩尔芯创!

相关阅读

深度解读 | LS-DYNA中损伤与失效模型

How to | LS-DYNA使用技巧(十)-材料篇

How to | LS-DYNA使用技巧(九)-材料篇

How to | LS-DYNA使用技巧(八)

How to | LS-DYNA使用技巧(七)

How to | LS-DYNA使用技巧(六)

How to | LS-DYNA使用技巧(五)

How to | LS-DYNA使用技巧(四)

How to | LS-DYNA使用技巧(三)

How to | LS-DYNA使用技巧(二)

How to | LS-DYNA使用技巧(一)




相关推荐

打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(下)
本文将分享在多种硬件平台上实现高效、稳定的 LS-DYNA MPP 仿真...
打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(中)
本文将分享在多种硬件平台上实现高效、稳定的 LS-DYNA MPP 仿真...
打造极致算力:LS-DYNA MPP并行计算性能全面优化指南(上)
本文将分享在多种硬件平台上实现高效、稳定的 LS-DYNA MPP 仿真...
Fluent PCB模型及常见错误问题解决
1、简要说明 Fluent借助于“Trace Mapping"...