|
|
|
|
移动端

2.1.2 CEA的Hydro2D

《高性能并行珠玑:多核和众核编程方法》第2章从正确到正确&高效:Godunov格式的Hydro2D案例学习,本章将探讨一段科学模拟代码,这段代码是一个以气体动力学为基础的模拟程序。这份程序的输出结果正确,但(初始版本)性能欠佳。本节为大家介绍CEA的Hydro2D。

作者:张云泉 等译来源:机械工业出版社|2017-11-14 17:31

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.1.2 CEA的Hydro2D

本案例研究的对象是一段由CEA所开发的名为Hydro2D的中等规模代码。CEA(Com-missariat à l’énergie atomique et aux énergies)是一所法国政府机构,该机构主要进行民用和军用研发。Hydro2D代码用于内部天体动力学的“代理”程序。这类程序旨在保证代码量(数万行代码,而不是几十万或几百万行代码)可控与保护原始代码知识产权的情况下,挖掘“基准”应用的基本计算特性。

参考的Hydro2D代码大约有500行。这份代码主要用于解决“冲击流体动力学”问题。事实上,就是高能气体在二维坐标上的移动问题。除了在天体动力学上的应用之外,该代码使用的技术与航天领域的部分代码十分相似。

原始代码具有短小紧凑、易读性强且执行结果正确的特点。然而,其在多核架构上性能较差。其中的某些性能问题是为了保证代码的可读性和简单性而产生的,但其他问题是由于忽略了面向性能的编程所造成的。由于对运行时和硬件行为的错误理解,参考代码的某些方面性能低下。

章节安排。在接下来的章节中,我们将回顾参考代码的一些背景知识以及要解决的问题,讨论现代计算环境上的重要特征,并且研究如何将这段代码转换成高效代码。

我们将量化每次修改后得到的性能提升。其中我们重点关注多核编程环境下的单节点性能提升,同时检查“起始错误”的后果,也将看到在硬件模型不完全清楚的情况下如何优化。实验结果表明,在不同规模问题的中计算环境的各参数能够得到3~10倍的性能提升。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

入侵的艺术

黑客也有优劣之分。很显然对他们的奖励之一是利用黑客手段非法入侵我们公司的安全站点或个人系统。另一种奖励可能是他们的黑客行为构成了黑...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊