改改Python代码,运行速度还能提升6万倍,Science:先别想摩尔定律了

摩尔定律终结之后的性能提升途径。

算力的提升可以为现代生活带来诸多便利,例如,当前手机的功能比 25 年前房间大小的计算机都要强大,近一半的人可以上 ,强大的超级计算机还可以用于药物挖掘。人类 会已经了开始依赖计算机随时间指数增长的强大性能了。

计算机性能的提高大部分要归功于数十年来计算机部件的小型化。诺贝尔物理学奖获得者理查德 · 费曼早就预见了这一点。在 1959 年致美国物理学会的演讲中,他提到,「底部还有大量空间」。1975 年,英特尔创始人戈登 · 摩尔给出了这种部件小型化趋势的预测,即集成电路上可容纳的元器件数目约每隔 18-24 个月便会增加一倍,性能也将提升一倍。我们将其称之为摩尔定律。

不幸的是,这种趋势正在走向消亡,因为「底部」已经没有多少空间了。如果算力的提升停滞不前,那么几乎所有行业的生产力都将面临挑战。

在此背景下,MIT、英伟达、微软的研究者在最新一期《Science》上发文指出,虽然「底部」已经没有太多提升的空间,但「顶部」还有机会:在软件、算法以及硬件架构方面,我们都能够找到提升计算性能的方法。

值得一提的是,用 Python 3 做同样的事还要更慢,需要耗费 9 个小时。

算法

图 2:1985 年 – 2015 年,SPECint 性能(串行为主)、SPECint-rate 性能(并行)、微处理器时钟频率提升的情况。坐标起点为 1985 年的 Intel 80386 DX 微处理器。

上图 2 展示了微处理器的三组基准数据:首先,如图中绿点所示,从 1985 年到 2005 年,由于 Dennard 缩放比例定律的终结,时钟速度在增长了 200 倍之后趋于平缓。

在 Dennard 缩放比例定律时代,由于时钟速度提高和其他架构变化的推动,微处理器在 SPECint 和 SPECintrate 基准测试中的性能迅速提高,目的是在典型的用户工作负载上对计算机性能建模。

SPECint 基准主要由串行代码组成,SPECint-rate 基准测试则是并行的。这两个基准测试在单处理器计算机上的表现是相同的。但从 2004 年之后,由于机器添加了多个内核以及其他的显式并行机制,两者的性能出现差异。

实际上,从 2004 年到 2015 年,性能最佳的芯片上并行应用程序的性能增长了 30 倍,大概每两年就会翻一番。相比之下,同期的 SPECint 基准(灰点)仅增加了三倍。

既然设计者已经接受了并行性,主要问题就是如何简化处理器和利用应用程序的并行性。未来,两种简化策略将占据主导地位:处理器简化和领域专门化。

硬件架构是可简化的。一种是通过简化处理器,将复杂的处理核替换为晶体管数量需求更少的简单处理核。由此释放出的晶体管预算可重新分配到其他用途上,比如增加并行运行的处理核的数量,这将大幅提升可利用并行性问题的效率。

简化的另一种形式是领域专门化(domain specialization),即针对特定应用程序定制硬件。这种专门化舍弃了某一领域不需要的处理功能,同时允许针对领域进行更多的自定义,比如降低机器学习应用程序的浮点精度。

在后摩尔时代,软件、算法和硬件体系架构的性能改进越来越依靠在堆栈的各个级别上进行并发更改。从工程管理和经济的角度看,这类更改在大型系统组件中更容易实现,因为这些可重用的软件通常具有超过一百万行的代码,或者是拥有相当复杂的硬件。

如果一个组织和公司拥有此类的大型组件,通过重新设计模块度来获得性能提升是比较容易的。此外,成本和收益可以合在一起考虑,这样一来,大型组件中某一部分重要但昂贵的更改就能用该组件中其他部分的收益来弥补。

「底层」或许还有机会

在后摩尔时代,处于「底层」的制硅工艺改进将不再提供那么显著的计算机性能提升,但「顶层」的软件性能更迭、算法开发和硬件精简,将使计算机应用程序的速度更快。与曾经「底层」明显的收益不同,这些「顶层」的收益将会是参差不齐、零散且机会性的。而且,随着对特定计算方法的探索不断深入,这种边际收益将会呈现递减趋势。

当然,一些新兴技术也可能从「底层」推动发展,比如 3D 堆叠、量子计算、光子学、超导电路、神经形态计算、石墨烯芯片。这些技术目前还处于起步阶段,尚未成熟,暂时无法与基于硅的半导体技术竞争。但不可否认的是,它们的确具备长期潜力。

参考链接:https://science.sciencemag.org/content/368/6495/eaam9744

  • 墙裂推荐!B站上的Python学习资源

  • 只要三步,带你用Python换脸

  • 趣味!用Python竟然还能做一个文字套娃

  • 只要三步,带你用Python换脸

  • 一行Python代码写的游戏,我能这样玩一天!

  • 让你纵横 GitHub 的五大神器

  • 50行Python代码,一键获取微博热点

  • 值得收藏!8大技巧,带你了解菜鸟和高手的区别!

程序员GitHub

改改Python代码,运行速度还能提升6万倍,Science:先别想摩尔定律了

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览209988 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月5日
下一篇 2020年5月5日

相关推荐