开源的方舟编译器将进入深圳大学课堂
前阵子华为正式开源了方舟编译器,根据介绍,此次开源的是编译器框架部分源码,包括编译器中间表示(IR,Intermediate Representation)和语言编译实现,同时搭配编译器其它二进制组件,实现 Java 程序到 aarch64 汇编指令的编译过程。
代码开源之后,一方面,开发者可以基于开源代码+二进制代码,编译构建出编译器工具链,尝试对 Java 程序进行编译;另一边,社区参与者可以通过框架源码学习方舟编译器的 IR 及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。
很快就有消息透露深圳大学正打算将方舟编译器引入课堂,我们借此就方舟编译器相关问题采访了计算机与软件学院院长明仲与软件工程系副主任蔡树彬,并向校方确认了该消息。
开源中国:请问您从技术上怎么看方舟编译器?
明仲:我认为,方舟编译器技术上最大的变化是改用新的编译和运行机制,将原来安卓应用边解释边执行的即时编译改为先整体静态翻译再优化执行的预先编译模式,大幅度提升了安卓应用的运行效率。这可以说是近几年来能深刻影响整个安卓生态的基础性变化。从 JIT 编译到 AOT 编译的改进,中间有大量技术和工程上的问题需要一一克服,我们很可喜地看到,方舟编译器已经摸索、趟出了这样一条路出来。
开源中国:方舟编译器这次开源重点宣传了 IR(中间表示),其实意味着什么?
明仲:中间表示是编译器后端整个代码分析、优化工作的基础,优秀的 IR 设计才能够支撑起更好的代码优化处理。整体设计上,方舟编译器更关注静态编译,所以 IR 设计包括的程序信息比 LLVM 多了很多,这将非常有利于方舟编译器在代码优化阶段的处理,将能编译出更高效的代码。
注:LLVM(Low Level Virtual Machine,低级虚拟机) 是一个模块化和可重复使用的编译器和工具技术的集合。提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用,它能够进行程序语言的编译优化、链接优化、在线编译优化与代码生成。
开源中国:方舟编译器开源出来的内容好像不完整,这点您怎么看?
明仲:首先,我们可以看到,方舟编译器有完整的开源计划时间表,作为一个原来是内部研发的项目,在开源前花一定时间进行必要的代码梳理,这个我们完全可以理解。
其次,尽管方舟编译器已经做了许多工作,克服了不少困难,也取得了一些成果,但与成熟的 LLVM 相比,还是存在差距。在当前国内外环境下,除了方舟编译器项目团队自身需要加紧时间完善外,还需要借力于我们整个社区一起努力共建,才有可能能更快形成整个自主可控的软件生态。所以,方舟编译器先开源部分内容的做法我们完全可以理解。
在内存泄露或溢出的源码分析方面,我们学院一直有团队在进行研究,也取得一些不错的结果,我们也愿意一起参与到方舟编译器社区的建设中。
此外,方舟编译器的开源对我们当前的人才培养和教学改革来说也非常有意义。IR 设计、RC 优化等具体技术可以扩充我们的教学内容。更重要的是,在方舟编译器的基础上,我们能更好地培养自主可控的基础、系统软件人才,满足我国当前的发展战略要求。
开源中国:也就是说深圳大学打算把方舟编译器搬到大学课堂?
蔡树彬:我们这次计划把方舟编译器搬到课堂是一件非常顺利、开心的事情。一方面,以学生为中心,面向产出的计算机系统能力培养是我们教学的一个重要目标。
近几年来,我们学生的能力水平提升很快,原本的编译原理教学内容开始不能满足学生的学习需求。于是,我们计划在后续课程中,增加更多编译器中后端的内容,促使学生能够形成更完整、全面的计算机系统能力。
另一方面,在当前国内外形势下,自主可控已经成为国家重要的发展战略。编译器是计算机非常重要的基础系统软件,自主可控自然也变得非常重要。就在这个时间节点,方舟编译器宣布计划开源。通过与华为工程师几次沟通下来,我们不但发现华为工程师很热心,非常愿意帮助我们一起利用方舟编译器来改进编译课程教学,而且方舟编译器的 IR 设计和 RC 实现优化,也刚好能够成为我们编译器中后端内容教学的范例。
整体上,我们这次与华为合作,把方舟编译器搬到课堂,真是一件非常顺利并且开心的事情。我们也很期待后续跟方舟编译器团队继续进行更深入的合作,一起建设完善整个方舟编译器社区。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Wi-Fi 联盟推出 Wi-Fi 6 认证计划
9 月 16 日,Wi-Fi 联盟推出了 Wi-Fi 6 认证计划,该计划旨在统一使用 Wi-Fi 6 设备的标准,参与认证的制造商可在其设备包装上标注Wi-Fi 6 认证徽章。 其实这也就意味着 Wi-Fi 6 标准正式统一落地,新的 Wi-Fi 6 标准是去年 10 月份公布的,相比之前版本的协议,它具有更密集的子载波间隔,新的 1024 QAM 模式,以及每个信道最多允许 9 个并发用户,每个用户最多分配 26 个子载波。此外,Wi-Fi 6 预计比 Wi-Fi 5(802.11ac)快 37%,最高速度为 11 Gbit/s。Wi-Fi 6 认证在此基础上,扩展了 Wi-Fi 的核心优势,包括经济的性能、高效的运营、安全保障、易用性、自我部署和长期兼容性,同时还支持高可靠的用户体验需求。 Wi-Fi 6 认证计划将验证设备是否支持所有 Wi-Fi 6 技术升级,具体高级功能包括: 正交频分多址(OFDMA):在高需求环境中有效地共享信道以提高网络效率并降低上行链路和下行链路流量的延迟。 多用户多输入多输出(MU-MIMO):允许一次传输更多下行链路数据,并使接入点能够同时向更多...
- 下一篇
清华学霸直博简历:CPU、操作系统、编译器全自主写
最近,知乎上有一条帖子火了,该帖子题为“清华大学计算机专业本科这位在「自己写的 CPU 上运行自己写的操作系统」的同学是什么水平?”,提问者对清华大学计算机系副教授、博士生导师刘知远(主要研究方向为表示学习、知识图谱和社会计算)的一条微博感兴趣,在知乎上进行了提问。 具体情况是清华大学某位计算机专业的本科生,在他的一份院系直博面试简历上,一个用Rust语言实现的 Linux兼容操作系统项目非常抓人眼球,该项目实现了在自己写的 CPU 上运行自己写的操作系统。这条帖子引起了热议,大多数人对此表示惊叹和赞许,刘知远教授也是十分称赞。 根据刘知远在知乎上的回答表述,清华大学计算系有三门必修课分别是计算机组成原理、操作系统和编译原理,这三门课是分在几个学期上的,各自有一套大作业体系。然而,这位面试的同学却融会贯通了这三门课的知识,在同一套体系下完成了三门课的大作业。虽然对于常年浸淫这些领域的专家不算什么,但是对于一名大三的本科生,在这一个忙碌的学期里,愿意主动折腾这些硬核内容,完成了一个项目,这是很难得的事情。刘知远认为该同学简历上的这句“在自己写的CPU上运行自己写的操作系统,以及自己实现的...
相关文章
文章评论
共有0条评论来说两句吧...