不请自来。
题目中引用了我发的想法,所以我来简单答一下。
1、首先需要说明的是,我并非华为员工,是中科院软件所PLCT实验室的,我们也是专门搞程序语言和编译技术的实验室,所以会关注业内的发展。我参与了方舟编译器社区的一些工作和活动。之前在知乎连载了一系列的方舟编译器的源码分析:方舟编译器学习笔记 ,并在社区提了一些PR。当下在做的是每周做一期方舟编译器的社区周报:方舟编译器周报 。在未来两个月左右的时间内,还会有本有关方舟编译器的书上市,目前已经进入出版流程。
2、此次发布的maple engine,是Futurewei发布的。很多人对Futurewei不怎么了解,其实可以简单的认为是“华为美研”。
3、此次发布的maple engine其实在1月份的方舟编译器技术沙龙杭州站的时候已经有提前的介绍,其从宏观的层面上讲,架构是这个样子的:
我们可以从图中看到Maple Engine的位置,在图中偏右的位置,和binary是不同的线路,所以其实方舟的体系是有两条线路的支撑的,可binary可maple engine。
4、此次发布的maple engine是发布在http://gitee.com的方舟编译器孵化器里,具体位置为:方舟编译器孵化器: 孵化方舟编译器相关子项目。这个孵化器也成立了好几个月了,我们PLCT实验室之前发布的可以运行helloworld的toy runtime(pacific)项目也在孵化器中。
5、此次发布的maple engine的架构:
6、此次发布的信息在知乎上最早是由 @yanoyano 发布的:yanoyano:方舟引擎(MapleEngine)介绍 。这个发布文章里也包含了不少信息,感兴趣的可以去具体读一读。
7、此次发布的源码主要内容是maple_engine部分,其目录中包含源码的也主要在maple_engine/maple_engine之中,maple_engine/maple_runtime中分bin和lib,计划支持x86和aarch64,但是目前可见的aarch64的目录还都为空,应该是计划后续支持。
8、目前maple_engine的基本功能已经具备了,后续应该会不断的演进和支撑更多的功能与平台。对此有兴趣的可以更多的参与进去。
——————
相关资料:
2、小乖他爹:[方舟动态]方舟技术沙龙:叶寒栋《Maple Programming System》
懂的自然懂。
昨天第一时间下载下来,大致已经看完了。其实开源出来的代码并不是很多,很多组件还是以binary的形式提供的,而且只有X86的,不过毕竟AArch64的服务器一般人也没有,目前能搞到的也就是华为的鲲鹏(TaiShan服务器)。
推荐24G内存主要是为了编译OpenJDK获得Java core的.so。不过这能吓到我?摸鱼在我工作用的512G内存服务器试了一下,可能因为是CentOS的原因,构建脚本跑起来有问题,修改完构建脚本之后,编译链接又出了问题(这个估计确实就是ABI不兼容了)。最终还是摸鱼用ubuntu 18.04的docker镜像搞定了。
其实没必要重新编译OpenJDK的啊,只是在Object.java中增加了两个保留字段,没必要整个都编译一遍啊!
首先先大致说明一下情况:
(以上基于构建、执行的脚本,以及一些个人猜测)
总结:整体的结构其实文档里的图描述得非常清晰明了,就是对那张图的完美实现(虽然感觉有一些tricky,但我个人愿意称之为perfect)。这是一个Maple IR的解释器实现,你可以理解为是LLVM的lli。算是为方舟编译器的工具链中增加了一个有趣、令人遐想的部分,以后可以用来执行python、js啥的也可以吧(链接上libpython或者libv8,但只是使用其中native部分的调用,而不是interpreter)。
这算是一个PoC(概念验证),和手机里用的方舟是不一样的,我也不苛求什么/笑哭/笑哭/笑哭。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有