站长之家
站长之家
2019-09-20 17:17
+关注

华为方舟编译器 PK 微软苹果谷歌编译器,到底谁胜出?

方舟编译器 谷歌编译器 苹果编译器 华为方舟

声明:本文来自于微信公众号 CSDN(ID:CSDNnews),作者:胡巍巍,授权站长之家转载发布。

受访者 | 刘新铭

近日,华为方舟编译器终于正式开源,兑现了在 2019 年 8 月开源的承诺。

与此同时,其代码不在GitHub,而是在自家开源平台上。这也意味着,华为开源平台同时问世。

可以说,这是华为兑现开源承诺的第一步,因此备受开发者们期待。

基于此,CSDN采访在计算机语言设计和高级编译器优化技术方面,具有深入实践经验的刘新铭。

以下为根据采访实录整理而成的文章:

在惠普Java编译器技术实验室,担任主任的岁月

刘新铭在担任惠普Java 编译器技术实验室主任时,曾参与团队建设与新技术。在惠普服务器部门任职期间,刘新铭主要负责管理Java性能、C / C ++编译器和性能分析工具等工作。

期间,刘新铭构建了一套全新的编译器中端,包括新的编译器中间表示、用于创建编译器中间表示的组件集、代码生成器和全套优化。

刘新铭认为,一个好的设计绝不会是出自一人之手,它肯定是融合了团队里每个成员的智慧。为此,刘新铭曾带领团队,和惠普的HP-UX团队、英特尔微处理器团队进行了深度合作。

惠普的合作伙伴们,也给刘新铭的团队,提供了数千个应用程序,以帮助他们提高惠普服务器性能,从而在服务器市场中保持竞争力。

在那段时间里,刘新铭目睹了一个完整的生态系统,如何从零开始。他每天都能看到,职业经理人在协调大量复杂的工作,也经常观察他的领导层,如何以合作共赢的态度,与合作伙伴打交道。

刘新铭从这段经历中,深刻体会到,成就一个生态,来自所有参与方的团队合作精神以及其中每个人的个人领导力。

而打造中国本土的IT生态,应从跨公司合作方面和开发者角度切入。对此,刘新铭强烈建议新一代开发者,应用科学和量化的方法,来完成开发工作。

编译器的历史

在刘新铭看来,编译器技术的发展,有两个主要驱动因素。

第一个驱动因素,是编程语言的演变,即编写代码以使计算机能执行人们希望它所执行的任务的能力。

它的主要目的,是为了提高编程效率,主要影响的是编译器的语言处理部分。

在计算机历史中,第一种编程语言是汇编语言。但很快,人们发现汇编语言的表达能力太弱,因为你不能要求人类来编写机器代码。

如果真有人愿意这样做,那不仅单调乏味、而且容易出错。

在上世纪50、 60 年代,相继诞生了高性能的Fortran和面向金融领域的COBOL,后来又陆续推出C、C ++、Java Script和Java。

第二个驱动因素,是计算机系统架构的演变。系统架构的每一次变化,都会导致编译器优化发生重大改变。

如果编译器优化处理得当,程序员将无需关注架构的复杂性,并能从硬件中获取最佳性能。以下是一些系统架构的演进:

  • 从大型机到RISC;

  • 从单CPU到多CPU;

  • 从单核到多核;

  • 从纵向扩展到横向扩充。

未来几年内,更高级别的领域特定语言(DSL)将会不断涌现,以支持领域专用架构(DSA)的可编程性。

领域特定编译器将发挥关键作用,连接两端并从DSA中获得最佳性能。其中一个很流行的趋势是,将有用于人工智能的DSL。

用它编写应用程序,将会使能许多人工智能DSA。因此,我们需要有一个非常好的人工智能领域特定语言编译器(AI-DSC),来从这些人工智能DSA中获得最佳性能。

当然,编译器技术的演变,也体现在其他诸多方面。上面介绍的两个驱动因素,主要是为了帮助大家一窥编译器的发展。

免责声明:本文来自站长之家合作媒体,不代表站长之家的观点和立场。
方舟编译器
38篇文章
查看
猜你喜欢
最新趣闻
最新推荐