首页/文章/ 详情

性能测试|数据说话!在SimForge平台上用OpenRadioss进行汽车碰撞仿真,究竟多省时?

14天前浏览766

Radioss是碰撞仿真领域中十分成熟的有限元仿真软件,可以对工程中许多非线性问题进行求解,例如汽车碰撞、产品跌落、导弹爆炸、流固耦合分析等等。不仅可以提升产品的刚度、强度、碰撞的安全性能等,还可以在降低产品研发成本的同时提升研发效率。

01 如何在SimForge使用OpenRadioss


登录“神工坊”高性能仿真平台后,在仿真计算模块中,点击OpenRadioss,按照需求填写或选择即可。


在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图1


其中有“starter”、“engine”和“paraview”三个使用模块:


“starter”模块为前处理模块 , 不仅可以对_0000.rad为后缀的模型文件进行前处理,还可将LS_DYNA使用的.key文件转换成OpenRadioss可执行的.rad文件;


“engine”模块为OpenRadioss的求解程序 ,使用该功能时,在求解文件中需选择_0001.rad为后缀的文件。



在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图2


需要注意的是,在使用“starter”模块进行前处理时所使用的CPU核数,需要与后续使用“engine”模块求解时所使用的核数保持一致。


“paraview”模块为后处理模块 。 “paraview”模块可将“engine”模块计算完成后的结果文件转化为后处理软件ParaView可执行的.vtk文件,转换完成可使用神工坊平台内的ParaView进行后处理,用户也可将转换好的文件下载到本地进行处理。


使用该模块时,求解文件需选择文件名称后部为A001的文件,提交后该模块会将文件夹内符合要求的文件进行全部转换。下图为OpenRadioss官方模型Camry Impact Model在ParaView进行后处理。


在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图3


同时,SimForge神工坊高性能仿真平台上部署了前处理软件HyperMesh,完全可以作为OpenRadioss的前处理工具。


将模型文件导入HyperMesh,完成网格划分、材料属性设置、边界条件等设置后,可导出OpenRadioss可执行的.rad文件。



在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图4


02 性能对比


以官方算例Camry Impact Model为计算模型,所使用的“神工坊”高性能仿真平台与其他的仿真云平台的硬件参数如下表所示。




仿真云

平台



CPU型号



内存



主频



神工坊



AMD  EPYC 7742



512G



2.25GHz



某仿真云平台



Hygon 7185



512G



2.4GHz




使用核数分别为16、32、64、128核,同时以每个仿真云平台16核的计算时间为基本单位计算加速比,计算时间与加速比如下图所示。


在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图5


在“神工坊”上使用OpenRadioss进行大规模并行仿真,效果如何?的图6


可以发现,“神工坊”SimForge高性能仿真平台使用OpenRadioss进行并行仿真时,表现出了超高的计算效率。 从16核到128核,不同并行规模下,计算用时均明显少于某仿真云平台,加速比明显高于某仿真云平台 。且在“神工坊”SimForge高性能仿真平台使用32核的计算速度就远超某仿真云平台使用64核甚至是128核的计算速度。

03 结论

  “神工坊”SimForge高性能工业仿真平台以超算HPC集群作为硬件支撑,实现了跨节点大规模并行计算,对OpenRadioss、OpenFOAM、ANSYS等仿真软件进行了CPU平台的高性能适配与优化,可以高效处理大规模网格模型以及复杂流场,大大缩短了企业仿真用时,提升工业设计效率,同时根据用户需求进行兼容性适配,力保每一核都能发挥出它的最大价值,欢迎广大工程师同行注册试用——

1. 专业GPU并行渲染,操作丝滑如本地仿真

SimForge 高性能仿真云平台实现了多 GPU 的分时共享,同时支持大规模仿真数据的多 GPU 服务端并行渲染,让10亿+网格可视化无压力。

SimForge 性能测试|Fluent旋转机械稳态分析的图10

SimForge平台Fluent性能测试结果

(注:仿真云平台2最高只能64核并行使用)


2. "超算级资源池+工业级软件栈"的垂直整合架构

SimForge 拥有亚洲最大的价值2亿的商业仿真软件授权,搭建了“传统商软+开源/国产软件+自研定制软件”的“工业级软件栈”,配合超算资源支持,单体软件并行最高可达2048核。

SimForge 性能测试|Fluent旋转机械稳态分析的图11

3. 打破工程仿真信息孤岛,在线协同范式升级

实时同步操作界面:区别于大部分仿真云平台只有子母账号管理功能,SimForge 在账号管理功能之外,是可以实现实时同步操作的。

跨设备与跨账号无缝协同:关注到不同用户对账号信息保密需求不同,SimForge支持——“相同账号不同设备,同时登录协同操作”,“不同账号同时进入作业协同操作”两种使用情景。

SimForge 性能测试|Fluent旋转机械稳态分析的图12

4. 实时计费,精准结算,风险可控

SimForge 采用实时计费,精准结算的模式,让用户在使用过程中能够清晰了解费用情况,风险可控。无论是短期的集中计算任务,还是长期的研发项目,都能根据实际使用情况灵活计费,避免了资源浪费和不必要的成本支出,以及日常软硬件维护的烦恼。

SimForge 性能测试|Fluent旋转机械稳态分析的图13



HPCRADIOSS碰撞汽车云计算求解技术ParaView
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-11
最近编辑:14天前
神工坊(高性能仿真)
神工坊,提供高性能仿真解决方案...
获赞 233粉丝 49文章 119课程 3
点赞
收藏
作者推荐

技术分享|并行代数多重网格算法:如何用黑盒求解器攻克复杂工程计算的效率瓶颈?

、01多重网格方法介绍多重网格方法是一种高效求解偏微分方程离散系统的迭代方法,其核心思想是通过不同网格层次的协同作用加速收敛。它分为几何多重网格(GeometricMultigridMethod,GMG)和代数多重网格(AlgebraicMultigridMethod,AMG)两类,分别基于几何信息和纯代数结构构建。传统迭代方法如雅可比(Jacobi)、高斯-赛德尔(Gauss–Seidel)方法虽能在细网格上快速消除高频误差,但对低频误差效果不佳。多重网格方法通过将问题转移到粗网格,使低频误差在粗网格上变为高频,从而被有效消除。它构建一系列从细到粗的网格,通过限制(Restriction)和插值(Interpolation,orProlongation)在不同网格间传递信息,利用粗网格快速消除低频误差,细网格修正高频误差,以此加速收敛。下图反映了一个2D泊松方程的迭代求解过程中残差分布的变化(初始随机分布),模型分辨率为100×100个网格点,使用的迭代方法为高斯-赛德尔迭代法。可以发现,长波长(低频)残差的衰减速度要比短波长(高频)残差慢得多。(图片来自文献IntroductiontoNumericalGeodynamicModelling)02代数多重网格(AMG)方法代数多重网格方法是一种用于求解稀疏线性方程组的高效数值计算方法,特别适用于工程和科学计算中的复杂问题。它通过将计算区域划分为多个层次化的网格,以提高计算效率和精度。AMG方法的基本思想是利用粗网格和细网格之间的关系,通过在不同层次上进行平滑和残差修正来加速求解过程。它结合了代数方法和多重网格技术,不需要显式的网格生成,而是直接在代数层面上操作,通过层次化拓扑关系的构建得到各层级的稀疏矩阵。这使得AMG方法具有较大的灵活性,可以适应不规则的几何形状和复杂的边界条件。(一)主要特点•AMG与GMG的对比特性几何多重网格(GMG)代数多重网格(AMG)依赖信息几何网格结构矩阵的代数结构适用场景结构化网格、规则问题非结构化网格、复杂问题粗网格构建基于几何层次基于矩阵的强连接性插值/限制算子基于几何插值(如线性插值)基于矩阵的数值关系构造•优势:灵活性强,可看作黑盒求解器,无需用户提供网格信息,适用场景广。•挑战:粗网格选择和插值算子构造的算法复杂度高,针对不同领域存在收敛性问题,预处理时间更多。(二)计算流程AMG的求解流程分为两个部分:•启动过程(Setup):递归构建层次结构()直至粗网格足够小;•求解过程(Solve):通过V/W/F等循环(Cycle)在层次间迭代,直到收敛。下图展示了AMG的计算流程,其中绿色箭头表示Setup过程,蓝色箭头表示Solve过程。在Setup阶段,AMG根据用户提供的原始矩阵,自动生成一系列规模逐渐减小的粗矩阵,原始矩阵作为最细层,不同算法在此阶段的表现各异。进入Solve阶段,基于生成的层次矩阵进行迭代计算。以常用的V-cycle为例,如蓝色箭头所示,计算从最细层网格开始,依次向上在各层网格进行,最后反向返回最细层。在每一层网格中,会依次执行smoother计算、残差计算以及层间的限制和插值计算,这些步骤的具体操作已在图中展示。(图片来自文献FP16AccelerationinStructuredMultigridPreconditionerforReal-WorldApplications)代数多重网格(AMG)无需几何信息,直接基于系数矩阵的代数结构构建层次。其关键组件包括:1.延拓矩阵:定义细网格到粗网格的映射;2.限制矩阵:通常取;3.Galerkin积:粗网格矩阵通过构造。根据Setup阶段的算法差异,可将AMG分为聚合型和经典型两个派别,下面分别简单介绍。(三)聚合型AMG聚合(aggregation)型AMG方法采用基于聚类的粗化过程,它利用聚类算法和相似性度量来确定节点之间的关联性,然后将相似节点划分为同一组,即若干个细网格点聚合形成一个粗网格点。聚合型AMG方法的特点为具有经济性、易于控制等,但对于一些复杂问题其求解收敛性可能会不如经典AMG方法。根据粗细网格插值关系的处理方式可将其分为光滑聚合(Smoothed-Aggregation,SA)型AMG方法和非光滑聚合(Unsmoothed-Aggregation,UA)型AMG方法。代表性代数求解库为Trilinos的MueLu。下图为聚合型AMG生成粗矩阵(用图(Graph)表示)的过程,细层0、1、2节点聚合形成粗层0节点,细层3、4、5节点聚合形成1节点,SA和UA两种AMG形成的延拓矩阵如图所示,延拓矩阵每列反映了每个粗层节点(聚合体)与相应细层节点的包含关系。(四)经典型AMG经典(classical)型AMG方法通过粗网格点和细网格点的划分来完成粗化过程。它根据残差向量的分布,通过确定连接矩阵中的强连接来识别网格节点之间的重要关系。通过保留具有强连接的节点和相关信息,可以构建粗网格和粗细网格间的插值关系。经典AMG方法的特点是鲁棒性较好,在各类实际应用中得到了充分发展,算法适应性不断增强,目前已经发展了多种并行的粗化策略,如Falgout算法、HMIS算法等。代表性代数求解库为HYPRE。下图为经典型AMG生成粗矩阵(用图(Graph)表示)的过程,从细层中挑选出一些节点作为粗层节点(CoarsePoints),其相邻的节点为细层节点(FinePoints),延拓矩阵每列反映了C-points和F-points间的插值关系。03UNAP介绍UNAP(UNstructuredAlgebraPackage)是无锡超算先进制造部针对国产异构众核平台开发的非结构网格代数求解库。该代数求解支持亿级阶矩阵的百万核并行求解,包含Krylov子空间方法(CG、BiCGStab、GMRES...)及预条件子(Jacobi、ILU、MG...)、代数多重网格方法、并行直接解法等,软件支持神威、x86、Windows平台。UNAP使用聚合型的AMG方法,以两点聚合(pairwise-aggregation)为主,相较于经典类型的AMG,聚合类型的AMG具有算法和实现简洁的特征,在Setup、单步solve等方面具有一定速度优势。(一)使用方法1.构建矩阵、向量向量构建过程比较简单,传入对应数组指针即可,支持多种形式内存管理,接口如下://\brief从已有的数组中复制指定长度的数据//\paramval数据指针//\paramlength向量的大小//\paramcomm通信域//\paramreUse数据是否会被重复使用//\paramdontDel如果为真,则不会删除指针template<typenameT>Vector::Vector(constT*val,constlabel&length,Communicator*comm,constboolreUse=false,constintdontDel=0);UNAP中的矩阵数据结构包含CSR与LDU两种(结构示意图如下),均为分布式,包含多种矩阵构造接口,这里以CSR构造为例:(图片来自文献AnintegratedframeworkforacceleratingreactiveflowsimulationusingGPUandmachinelearningmodels)/*!*通过三个数组直接构造分布式CSR矩阵*\paramrowPtr反映当前进程矩阵各行元素数量的数组,长localRows_+1*\paramcolInd当前进程矩阵的列标数组,长localnnz_*\paramvalues当前进程矩阵的数值数组,长localnnz_*\paramdist各进程矩阵首行行标数组,长nProcs+1*\paramsymm矩阵结构是否对称(默认结构对称)*\paramcomm通信域*\paramdeepCopy深拷贝时为true,浅拷贝为false*/template<typenameCmpt>CSRMatrix::CSRMatrix(label*rowPtr,label*colInd,Cmpt*values,label*dist,boolsymm,Communicator*comm,booldeepCopyfalse);2.初始化求解器以AMG方法为例,UNAP构造求解器的步骤如下://构造AMG聚合工具类OFAgglomeration<scalar>aggl(A);//设置聚合相关参数aggl.SET_maxLevels(6);aggl.SET_rowSizeInCoarsestLevel(50);//AMGsetup开始aggl.agglomerate();//AMG参数设置MGSolver<scalar>MG(A,aggl);//收敛残差MG.SET_relTol(1e-6);//最大迭代步MG.SET_maxIter(100);//信息输出MG.SET_ifPrint(false);//前/后光滑次数MG.SET_nPreSweeps(1);MG.SET_nPostSweeps(1);MG.SET_maxPreSweeps(2);MG.SET_maxPostSweeps(2);//光滑器类型,如Cheby、Jacobi、Gauss-Seidel等MG.SET_smootherType("Jacobi"]);//-1为使用默认V-cycleMG.SET_KcycleLevel(-1);//某些情况加速收敛选项MG.SET_scaleCorrection(false);//初始化光滑器MG.initSmoothers();//AMGsetup完成MG.setUp();3.求解与结果输出//迭代数据管理类SolverPerformancesolverPerf=MG.solve(x,a,b);(二)两类AMG测试对两类AMG方法进行了简单测试,聚合型使用UNAP库,经典型使用HYPRE库。1.算例说明算例来自CFD仿真的实际工程案例所得到的数据,不可压多相湍流绕流计算,涵盖动量3分量(u、v、w)、压力修正值(p)、流体体积分数(s)、湍动能(k)、湍流耗散率(e)共7个变量的线性方程组。算例1的网格数为589940,变量e矩阵非零元数为4049160、其他变量(k、s、p、u、v、w)的矩阵非零元数为4141924。算例2的网格数为2849291,变量e矩阵非零元数为19357108、其他变量(k、s、p、u、v、w)的矩阵非零元数为20149067。2.测试环境测试CPU为sw26010处理器(仅使用主核),编译选项只有-O3,UNAP的求解器参数设置如上示例所示,HYPRE的求解器参数设置如下:HYPRE_BoomerAMGCreate(&solver);HYPRE_BoomerAMGSetTol(solver,1.e-6);/*conv.tolerance*/HYPRE_BoomerAMGSetMaxCoarseSize(solver,50);HYPRE_BoomerAMGSetMaxIter(solver,100);HYPRE_BoomerAMGSetMaxLevels(solver,10);/*maximumnumberoflevels*/HYPRE_BoomerAMGSetPrintLevel(solver,0);HYPRE_BoomerAMGSetRelaxType(solver,0);//jacobiHYPRE_BoomerAMGSetCoarsenType(solver,8);//PMIS-8HMIS-10HYPRE_BoomerAMGSetup(solver,parcsr_A,par_b,par_x);尽管在实际仿真求解过程中,针对u、v、w等分量的求解存在速度更快的迭代法可供选择,但为了统一比较代数多重网格(AMG)方法在不同变量求解中的性能表现,这里对所有变量的求解均采用AMG方法,同时保持一些共有参数的一致性(如收敛准则、最大层数、最大迭代步数、最粗层粒度、smoother类型等),这里HYPRE的粗化策略选择了PMIS并行粗化。3.测试结果(1)算例1①对于u、v、w等变量的求解,两种方法的收敛速度大致相当。然而,由于聚合型AMG方法具有更低的计算复杂度,因此在求解速度上展现出明显优势。②在求解k变量时,聚合型AMG方法的表现显著优于经典型AMG方法;而在求解s变量时,聚合型AMG方法的表现却明显逊于经典型AMG方法。③在给定的设置条件下,经典型AMG方法在求解p方程时未能实现收敛。(2)算例2①对于u、v、w、e、k等变量的求解,经典型AMG方法的求解耗时异常地长,尽管其迭代步数显示正常,具体原因尚需进一步分析。②在求解s变量时,聚合型AMG方法的迭代步数明显多于经典型AMG方法;而在其他变量的求解中,两种方法的迭代步数相差不大。③同样地,在该设置下,经典型AMG方法在求解p方程时也未能收敛。(3)总结通过上述两个算例的简要分析,可以发现聚合型AMG方法与经典型AMG方法在不同变量的求解过程中各具特点和优势。在某些变量的求解上,聚合型AMG方法凭借更快的求解速度和更低的计算复杂度脱颖而出;而在其他变量的求解中,经典型AMG方法则可能更胜一筹。值得注意的是,在本文算例中,经典型AMG在求解p方程时未能实现收敛。这一现象暗示着针对不同问题的p方程求解,可能需要进一步的参数调整、优化乃至方法改进。同时,经典型AMG方法在算例2中对某些变量求解耗时异常的问题也引起了我们的关注。这一问题值得深入研究和分析,以提高其在不同场景下的稳定性和效率。此外,我们还发现聚合型AMG方法在求解一些p方程等问题时,并行效率不尽如人意。这与网格分区和进程间独立聚合的算法有着紧密的联系,在一些问题中也会较大程度地影响收敛效率。因此,如何改进其聚合算法,以提升并行效率和收敛效率,成为了亟待解决的问题,值得我们深入探索和研究。参考资料:[1]GeryaT.Themultigridmethod.In:IntroductiontoNumericalGeodynamicModelling.CambridgeUniversityPress;2019:292-318.[2]Zong,Yi,etal."FP16AccelerationinStructuredMultigridPreconditionerforReal-WorldApplications."Proceedingsofthe53rdInternationalConferenceonParallelProcessing.2024.

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈