如何提升CAE/CFD的高性能计算应用效率?

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等加速协处理器的发展,上述传统算法将会被极大改进。

以Fluent算例为例,浪潮使用其自主开发的“天眼”高性能应用特征监控分析系统(英文:Teye),监测和分析了Fluent的应用特征。在Intel Xeon E5-2680v3 CPU平台上和144个进程下,计算了1000万网格规模的Fluent算例。

在下图中,通过浪潮天眼可以看出Fluent 的CPU利用率接近100%,参与计算的物理核心基本上在满载运行,说明了Fluent属于计算密集型。

浪潮天眼分析Fluent算例的CPU利用率

在内存带宽方面,天眼监测到Fluent的内存带宽需求主要发生在网格构建、合并及划分之后总内存带宽约为45GB/s。其中,读内存带宽约为40GB/s,写内存带宽约为5GB/s。Fluent由主进程读入和写出数据,从进程不直接参与I/O操作。另外,数据读写量与Fluent算例大小成正关系。

 

浪潮天眼分析Fluent算例的内存带宽

此外,我们还可以看到除开始阶段主节点的读操作速率达到40MB/s外,在Fluent的整个计算过程中,I/O操作压力比较小。作为典型的CFD软件,Fluent需要采用InfiniBand网络进行数据通信。

 

浪潮天眼监测Fluent算例的磁盘读写操作情况

在计算初期,Fluent通过网络进行大量的数据发送与接收操作。在之后的计算过程中,数据发送与接收呈现连续流特征,其速率维持在60MB/s ~ 100 MB/s。由此可见,Fluent是一款网络密集型软件。

 

浪潮天眼监测Fluent算例的InfiniBand网格数据发送与接收情况

下图为浪潮天眼分析监测的Fluent算例的雷达图,直观地显示了Fluent的各项应用特征。

  通过浪潮天眼分析的Fluent软件应用特征雷达图

浪潮在高性能计算方面拥有丰富的CAE/CFD优化经验,通过浪潮天眼可以更全面、更精细的分析CAE/CFD软件特征,提供软硬一体化的全方位优化方案。目前浪潮的CAE/CFD高性能计算应用方案已经广泛的应用在了航空航天、汽车船舶、建筑建设等行业。

原文发布时间为:2016-06-02

时间: 2024-11-08 22:32:15

如何提升CAE/CFD的高性能计算应用效率?的相关文章

提升SEO软实力 提高工作效率

Seo的目的和搜索引擎是一样的:给用户有价值的内容,帮助用户处理网页内容.尊敬的Seo们,你们是互联网界最勤奋的一群人,你们能够忍辱负重,独自面对来自上级的所有质疑和不屑;你们能够耐得住寂寞,像机器人一样,一个人去做重复的简单的事情;你们具有强大的抗压力和耐劳性,能够每天连续工作14个小时以上,为未来不确定的成果而坚持;你们善良.勇敢.敢于挑战,永远对生活充满信心,无论搜索引擎怎么对你,即使被踢出局,你也从不轻易放弃.无论怎么样,无论你在Seo界的成就是大是小,我都对你表示应有的尊重,也许你只是

Seoer如何提升外链发布的工作效率?

seo工作的合理性决定着效率的高低.毕竟每个人的时间和精力都有限,如果我们能把1小时的工作任务,半小时就完成了,并且做得相当出色,那么我们的效率就出来了;seo工作的效率并非跟技术密切相关,有时候还跟自己的工作的准备.时间安排和任务分配有很大的关系. 一.工作的准备 晚上多一分钟的准备,明天少一小时的麻烦,这就说明提前工作的准备非常重要,比如我们发外链,外链资源是否有搜集整理好,把能带锚文本链接的不能带锚文本链接的分开,甚至还可以细分为博客资源.论坛资源.能带签名的等等,这些都是我们发外链的提前

Impala提升3~90倍查询效率的秘诀是什么?

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; Cloudera Impala是一项基于Hadoop的实时检索引擎开源项目,其效率十分高,较Hive提升了有3-90倍. 为什么是代码生成? 这一切的基础是最优的查询,引擎一定是原生的应用,因为它们是针对你的数据格式来开发的,而且仅仅支持你的查询.例如以下是一个理想的代码: 1 2 3 select count(*) from tbl where col like

3个技巧提升Windows Server 2008 AD管理效率与安全

做过AD(活动目录)的人都知道,基于Windows Server 2000/http://www.aliyun.com/zixun/aggregation/19058.html">2003的DC(域控制器)如果要脱机维护AD就必须重启DC然后进入AD的还原模式才可以.这样做其弊端是显而易见的,AD下的诸如RIS服务.文件服务.打印服务等都会受到影响而不能运行. AD从Server 2003迁移到Server 2008后,带来的不仅仅是性能上的提升,对管理者来说最享受的是管理与维护中的便捷与

提升云NFV基础设施的运营效率

从2015年到2021年,移动数据流量将增长高达10倍以上.数据和新服务的需求大量涌现,数据和需求的来源不仅来自智能手机,还保留物联网(IoT)设备.电信运营商需要通过提供更快更新的服务来增强竞争力,尤其是随着5G的采用,电信运营商目前正在着手构建的网络功能虚拟化(NFV)基础设施必须满足这种迫在眉睫的需求.电信运营商目前面临的一个根本挑战是,以最低的NFV基础设施成本提供最多的创新服务. Figure 1 – Mobile data traffic growth driven primaril

Arimo利用Alluxio的内存能力提升深度学习模型的结果效率(Time-to-Result)

深度学习算法通常被一些具体应用所采用,其中比较显著的应用领域包括计算机视觉.机器翻译.文本挖掘.欺诈检测等.深度学习的方法在大模型加大数据的场景下效果显著.与此同时,被设计用来处理大数据的分布式计算平台(如Spark)也日益应用广泛.因此,通过在Spark平台上开发深度学习计算框架,深度学习的应用领域可以变得更加广泛,企业完全可以在已有的Spark基础设施上使用深度学习. 1.利用Alluxio协处理器进行基于Spark的分布式深度学习 在2015 Strata + Hadoop World N

十大 Node.js 的 Web 框架,快速提升工作效率

Node.js 系统含有多种不同的结构,如 MVC.全栈.REST API 和生成器等.这些结构不仅提升了 Web 应用的开发效率,也优化了开发过程.在这里,我们收集整理了十个高效的 Node.js 框架,希望对你有帮助. 1.Node.js 开发框架 Sail.js Sails.js 就像是 Node.js 平台上的 Rails 框架.这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合.用来开发多玩家游戏.聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.j

十大Node.js 的Web框架,快速提升工作效率

Node.js 系统含有多种不同的结构,如 MVC.全栈.REST API 和生成器等.这些结构不仅提升了 Web 应用的开发效率,也优化了开发过程.在这里,我们收集整理了十个高效的 Node.js 框架,希望对你有帮助. 1.Node.js 开发框架 Sail.js Sails.js 就像是 Node.js 平台上的 Rails 框架.这是一个可靠可伸缩的开发框架,面向服务的架构,提供数据驱动的 API 集合.用来开发多玩家游戏.聊天应用和实时面板引用非常方便,也可用于开发企业级 Node.j

Citrix NetScaler 9大幅度提升企业web效率

Citrix Systems MetaFrame技术为IT规划人员提供了面对这些挑战的方法,它所实施的网络架构不仅可以支持Web应用程序,并且支持当前几乎所有部署在台式机的应用程序. Citrix MetaFrame将现有的Web应用程序和架构部署到用户,同时满足IT规划人员所面临的四个首要挑战: • 带宽/网络 • 性能 • 硬件成本 • 集中化管理 带宽/网络.MetaFrame XP使IT管理员将浏览器作为发布应用程序分发到用户.在该架构下,客户端系统只收到ICA数据流,包括鼠标的移动,键