图灵奖得主David Patterson:将Python重写为C,性能最高提升1000倍!

简介:

2017年图灵奖得主之一、加州大学教授、Google工程师和RISC先驱David Patterson表示,没有什么是比现在从事计算机系统结构更好的时候了。

那是因为,摩尔定律真的结束了,他说:“如果摩尔定律仍然有效,那我们现在就落后了15倍。我们正处于后摩尔定律时代(post-Moore’s Law era)。”

上周,在圣何塞举行的2018年@Scale会议上,Patterson表示,“我们已经处于性能增长的最后阶段。当性能每18个月翻一番时,人们就会丢掉用得好好的台式电脑,因为他们朋友的新电脑速度要快得多得多。”

但去年,Patterson曾说,“运行单个程序的性能只增长了3%,因此它是每20年翻一番。如果你只是坐在那里等着芯片变得更快,你将不得不等待很长的时间。”

对于像Patterson这样的计算机架构师来说,这实际上是个好消息。他同时指出,这也是软件工程师创新的好机会。“专为处理特定类型计算问题而定制的革命性的新硬件架构和新软件语言,正等待我们去开发,”Patterson说:“这些事情你只要去做,就有机会拿图灵奖。”

作为软件方面的一个例子,Patterson表示将Python重写为C可以使性能提高50倍。加上其他一些优化方法,速度会急剧增加,与原始Python程序相比性能提高1000倍也是完全有可能的

在硬件方面,Patterson认为特定领域架构(domain-specific architectures,DSA)运行得更好。他说:“这不是魔术,只是我们能做的一些事情。”例如,应用程序并不都需要用同样精度的计算。他说,对于有些应用,你可以使用比常规的IEEE 754标准更低精度的浮点运算。

Patterson说,机器学习是现在应用这种新架构和语言的最大机会。“如果你是做硬件的,”他说,“你希望你的朋友都恨不得要更多更多的计算机。”而机器学习对于计算来说是“贪婪的,我们太喜欢了”。

他说,如今,关于哪种类型的计算机架构最适合机器学习,业界有很多争议,有很多公司在不同的架构上下注。谷歌拥有张量处理单元(TPU),每个芯片有一个核心和用软件控制的内存(而非缓存),英伟达的GPU则拥有80多个内核;微软正在走FPGA的路线。

至于英特尔,Patterson表示他们“在所有的赛道上都下了注”,为机器学习推销传统的CPU,收购Altera(这家公司向微软提供FPGA),并且收购Nervana,后者专注于开发神经网络专用处理器(类似于谷歌的TPU)。

除了这些大公司外,Patterson表示至少还有45家硬件初创公司都在解决这个问题,即设计机器学习专用架构。最终,他说,市场将决定一切。

“现在,”他说,“是计算机系统结构的黄金时代。”



原文发布时间为:2018-09-18

本文作者:李静怡

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。

原文链接:图灵奖得主David Patterson:将Python重写为C,性能最高提升1000倍!

相关文章
|
1月前
|
缓存 负载均衡 安全
在Python中,如何使用多线程或多进程来提高程序的性能?
【2月更文挑战第17天】【2月更文挑战第50篇】在Python中,如何使用多线程或多进程来提高程序的性能?
|
2月前
|
人工智能 测试技术 开发者
Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?
Python 潮流周刊#15:如何分析 FastAPI 异步请求的性能?
67 2
|
2月前
|
存储 算法 测试技术
万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
33 1
|
18天前
|
缓存 监控 算法
优化Python代码性能的10个技巧
提高Python代码性能是每个开发者都需要关注的重要问题。本文将介绍10个实用的技巧,帮助你优化Python代码,提升程序的运行效率和性能表现。无论是避免内存泄漏、减少函数调用次数,还是使用适当的数据结构,都能在不同场景下发挥作用,使你的Python应用更加高效稳定。
|
2天前
|
存储 缓存 算法
优化Python代码性能的7个技巧
在日常的Python开发中,优化代码性能是一个重要的课题。本文介绍了7个实用的技巧,帮助开发者提高Python代码的执行效率,包括利用生成器表达式、使用适量的缓存、避免不必要的循环等。通过本文的指导,读者可以更好地理解Python代码性能优化的方法,提升自身的编程水平。
|
10天前
|
数据可视化 测试技术 Python
在Python和R中使用交叉验证方法提高模型性能
在Python和R中使用交叉验证方法提高模型性能
20 0
|
1月前
|
XML Shell Linux
性能工具之 JMeter 使用 Python 脚本快速执行
性能工具之 JMeter 使用 Python 脚本快速执行
41 1
性能工具之 JMeter 使用 Python 脚本快速执行
|
1月前
|
缓存 监控 应用服务中间件
如何使用负载均衡器提升Python Web应用的性能?
【2月更文挑战第27天】【2月更文挑战第94篇】如何使用负载均衡器提升Python Web应用的性能?
|
1月前
|
缓存 监控 前端开发
如何优化 Python WEB 应用程序的性能?
【2月更文挑战第27天】【2月更文挑战第93篇】如何优化 Python WEB 应用程序的性能?
|
1月前
|
Python
在Python中,如何使用装饰器重写类的方法?
【2月更文挑战第24天】【2月更文挑战第79篇】在Python中,如何使用装饰器重写类的方法?