|
|
|
|
移动端

2.1.1 现代计算环境

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

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

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.1.1 现代计算环境

编译器是我们进行代码开发环境中的一个重要组成部分。主要包括以下几个部分。

硬件:处理器的微观/宏观架构、I/O、通信接口和集群级别内容。

运行时:操作系统和用于管理硬件资源并为用户提供抽象方法的运行时软件。

开发工具:编译器、调试器以及帮助程序员将想法转化成正确且有效代码的分析工具。

计算环境的各部分都在代码开发、维护和运行中发挥重要作用。新的计算环境优化在不断发展和使用。

科学家程序员困境。科学代码通常由熟悉理论的领域专家所写。这些科学家-程序员非常熟悉不断发展的计算环境,但并非总紧跟着计算环境发展的前沿。一个科学代码库的维护和开发可能超过十年(或30年),新方法兼容前期用户几乎是不可能的任务。

考虑到上述这些挑战与得到正确结果的任务,程序员所编写的代码往往不能达到最优的性能。直接快速开发的代码和专家经过数月研究所实现的代码在性能上的巨大差距称为“忍者差距”。该性能差异的量级是计算机开发商、编译器作者和开发人员所热切关注的焦点。这种差距可以反映出处理器性能的广泛实用性和编译器的质量。“忍者差距”存在于所有代码中,但通过本章的学习我们可以在实际应用中缩小这种差距。


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

51CTO读书频道二维码


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

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

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

读 书 +更多

ASP.NET 2.0数据库开发实例精粹

本书分为8章,首先介绍ASP.NET的开发技巧和重点技术,尤其针对初学者如何快速入门并掌握ASP.NET编程做了深入浅出的介绍;然后重点介绍ASP.N...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊