从事仿真行业的同学经常有碰到一个头疼的问题,那就是:如何根据自己的仿真环境和应用软件合理配置自己的计算机?因为仿真时需要进行很多的高性能计算。高性能计算,又称超级计算,是计算机科学重要的前沿性分支,它不仅是一个国家综合科研实力的体现,更是对国家安全、经济和社会发展具有举足轻重的意义。高性能计算可以应用于工程仿真、深度学习研究、计算材料研究、生物学研究、气象学研究、石油勘探等方面。
而工程仿真的高性能计算目的就是要以更低的成本(最短的时间、最少的人力、最少的资金),更真实地模拟物理世界。
有限元计算的实质是求解线性方程组,因此高性能计算的目标有两个:
一个目标是求解更大规模的模型,让数值计算的模型更接近真实的模型,计算出更高的精度。不同算法的求解器对计算机硬件资源的需求不同,因此可求解的最大规模也不同;另一个目标是同一规模的算例求解的时间更短,或在单位时间内求解的次数更多,可以通过改进求解器算法或者提高计算机计算速度等方式来实现。
ANSYS mechanical 属于隐式结构有限元分析求解器,这种求解器在进行大规模问题求解时,对硬件系统资源,包括CPU、内存、磁盘IO、互联性能等要求如下:
1、CPU
CPU处理器决定计算的求解速度,主要考虑的是主频和核数。通常而言,ANSYS mechanical软件速度随着 CPU 的核数和时钟频率(主频)递增。CPU主频越高,单核的求解速度越快,多核求解进程可以缩短求解时间。在选择硬件配置时,不应一味追求 CPU 核心数,还需要注意CPU主频;为了达到比较好的加速比,需要关闭超线程 Hyper-threading,开启Turbo boost。
2、内存
内存决定求解规模。内存总量越大,可求解问题规模越大。在有限元计算过程中,CPU需要与内存间进行大量数据的存取 (I/O),内存带宽越宽,速度越快;所有内存通道工作在最高速率,每块CPU应配备等量的内存,每个CPU内核配备8GB以上内存最佳,建议内存容量在48 Gb以上。一般来说,每百万自由度的模型需要1-1.5G的内存(根据算法会有所不同)。对于ANSYS mechanical建议以incore 方式求解,
大内存对隐式结构有限元分析求解器不仅能带来求解更大规模的题目,如果内存足够大还将大大缩短求解时间,因为从内存读取数据的速度,要比从磁盘要高至少一个数量级。配置大内存的工作站或服务器,还需要考虑内存带宽和每个计算内核访问内存的均衡性。有时如果CPU 或内存数量选择不当,可能会降低其频率,只有将这些内存通道全部占满,每个通道的内存容量均衡,而且全部达到最高内存带宽的大内存系统才适合高性能应用。
3、高速磁盘IO
存储影响求解速度,需要考虑存储的容量和速度。硬盘容量需要足够大,用来保证求解过程中的临时文件和永久文件的存储。磁盘的IO性能往往也是制约求解速度的瓶颈。因此应尽可能选用高持续读写速率的磁盘系统做工作目录,例如高转速的磁盘(15KRPM)、固态硬盘、基于Infiniband 的并行文件系统等。
4、高性能互联
如果采用集群构架求解DMP 算法的隐式结构有限元问题,高性能互联将有助于提高并行效率。采用Infiniband 互联的并行效率比采用万兆以太网大约高30%左右。
5、显存与GPU
显存主要影响前后处理时模型的显示速度。显卡性能主要对ANSYS mechanical 软件的前后处理过程中的图形显示速度与效果起作用,包括复杂模型的交互操作,大规模网格显示以及结果后处理生成与显示,对计算过程没有影响;建议采用专业级的图形显卡。GPU作为图形处理器,可以参与计算,支持ANSYS mechanical的并行求解计算加速。
从以上分析可以看出,在进行隐式结构有限元求解器的硬件配置过程中,均衡设计是最重要的基石。下图为根据多个算例测试后,形成的如何根据计算规模来选择各部分硬件的曲线。
一般完成一个有限元分析过程需要前处理、求解和后处理三个步骤。前处理一般在图形工作站上完成,有限元求解可在图形工作站、集群及SMP 服务器上进行。对于中小问题(例如1000 万节点以内的ANSYS mechanical问题),一般认为在图形工作站上就可以进行求解;
对于中大型问题(例如1000 万节点以上的ANSYS mechanical问题),建议还是在计算性能更高的集群或SMP 服务器上进行。对于中小型问题,可以在图形工作站上运行有限元后处理程序,读取计算结果进行结果的分析。但对于大型问题,图形工作站的内存、CPU 或GPU 的处理能力,单个显示器等都有可能成为性能的瓶颈,因此需要专业的可视化系统,包括应用软件和硬件等。