当前位置:首页 >互联网•IT > 服务器 > 高性能计算 > 正文
如何提升CAE/CFD的高性能计算应用效率?
来源:CAE/CFD  作者:佚名 2016-06-03 15:54:03
CAE(Computer Aided Engineering)是指利用计算机对工程及工业产品的结构、性能及运行状态等进行仿真,CFD(Computational Fluid Dynamics)是指利用计算机数值求解流体力学问题。

CAE(Computer Aided Engineering)是指利用计算机对工程及工业产品的结构、性能及运行状态等进行仿真,CFD(Computational Fluid Dynamics)是指利用计算机数值求解流体力学问题。

目前,基于高性能计算机的 CAE/CFD仿真在航空航天、汽车船舶、石油化工、土木建筑等领域有广泛的应用。并且,随着计算机技术的不断发展,CAE/CFD在上述领域的作用愈渐 重要,特别是在航空航天领域,CAE/CFD已经成为与理论分析和风洞实验并列的三种研究手段之一。美国航天局NASA预测,航空航天飞行器的设计会在不 远的将来发生革命性的变化,即实现在基于CAE/CFD仿真数据的数值风洞中的虚拟飞行。

高性能计算在CAE/CFD上应用的首要目标是用最低的成本获取最接近真实的结果。目前,CAE/CFD行业软件众多,客户对这些软件的应用要求也是千差万别,难以形成统一的解决方案。

那么高性能计算在CAE/CFD中应如何应用优化呢?首先,我们先分下CAE/CFD的特征。

CAE/CFD软件基本上采用有限元法或有限体积法求解控制方程,在计算时涉及大量的前后时间步迭代以及交界区域处理,属于计算密集型,对CPU性能的要求自然是越高越好。

一般来讲,采用显式时间格式的CAE/CFD软件对内存容量的要求一般,而采用隐式时间格式的CAE/CFD软件对内存容量有比较高的要,至于对内存带宽的要求则是与单节点内的进程数直接关联的,进程数越多,内存带宽要求越高。

在I/O层面上,多数CAE/CFD软件在读操作时,由主进程读入数据,然后向从进程分发数据;在写操作时,由主进程统一收集从进程的数据,然后主进程写出数据。也就是说,只有主进程直接负责I/O操作。因此,CAE/CFD对I/O存储的压力一般。

如前所述,由于CAE/CFD软件在计算时要做前后时间步迭代和交界区域处理,因此,对网络通信也比较高,宜采用InfiniBand网络。

接下来,我们再看一下如何进行高性能计算的CAE/CFD运行优化。

由于CAE/CFD多为商业软件,一般只能做硬件级优化与运行级优化。考虑到前文的特征分析,在硬件级优化层面,我们可以通过配置高主频CPU 和四通道内存来分别提高CPU、内存的性能,更可以通过对网络接连拓扑,路由选择算法以及RDMA等方面进行优化来提升InfiniBand网络的通信能 力。

在运行级优化层面,一般是采用MPI优化的策略。例如,MPI进程绑定优化,MPI消息传递机制优化,以及MPI通信共享内存优化等。随着PGAS(Partitioned Global Address Space)编程模型,以及GPU、MIC等加速协处理器的发展,上述传统算法将会被极大改进。

编辑:张路麒
分享按钮