最后一个月。2020年是神奇的一年,有太多的「百年一遇」,以至于不到最后一秒,我们压根不知道明天天亮之前又有什么炸裂的新闻会爆出来。2020年刚开始的时候我在杭州参加方舟的讨论会,美研的前辈们专程飞了半个地球,讨论EAR之后的的方舟如何演进。然后回老家过春节,全国疫情,我被困在非常小的一片地,体内憋着一股怨劲儿,使不出。想了很多的事,看了很少的书,更加喜欢一个人看夕阳。解封之后,慢慢找到的自己的节奏,PLCT实验室的人数在稳步的增加,积累的技术产出也开始有信心跟上游的同行们交流。7月份V8小队跑通了 Hello World 是一件振奋人心的事情,经过了几个月的冲刺和担心之后,我们终于成为第一个将V8移植到RISC-V上的团队。紧接着与FutureWei的吴芃前辈认识,组成联合团队开发,受到了很多的指导。下半年跟RISC-V国际基金会也好、国内的各个RISC-V伙伴厂商也好,联系开始变得越来越紧密,在 V8、Clang/LLVM、GNU Toolchain、OpenJDK、AOSP 等多个领域都有了工作的展开。上个月开始,由于包云岗老师加入BoD契机而快速融入进RISC-V国际基金会的我,开始引荐V8团队的吴芃前辈、BishengJDK的王亚东等与基金会的技术委员会接触,建立更为紧密的国际社区联系。不同小队之间的沟通组合开始爆炸,沟通成本在变大。
是时候了。PLCT实验室在今天发出了「关于建立RISC-V社区软件移植及优化工作的双周同步机制的倡议」。 希望能够为华语乐坛,哦不,华语技术圈提供更加高效的沟通机制,同时也吸引更多的大陆团队和个人,加入到RISC-V国际基金会的统一社区战略规划中。走出去,去融入,一直是PLCT的做事原则。第一次会议估计下周开始,具体的会议时间尚在投票中。下周一截止,欢迎去投票挑选你自己合适的参会时间。开放式会议,自由进入旁听。会议议程严格预约制,时间一个小时,遵守RISC-V国际基金会的惯例。同步会议会跟踪跟PLCT目前相关或感兴趣的基金会技术会议(一般都是在大陆的凌晨,时间不是太友好),为不能熬夜的中年同志提供了一个听取简报的场合。
另外,本周五是PLCT开放日。本来希望是线下的嘉年华聚会,由于零星的疫情不断,谨慎地改成了线上。欢迎参加。今年跟OSDT大会共同举办,一共3天。
OpenJDK/BishengJDK的RV64G的初始性能结果跑出来了。相比于目前RISC-V社区唯一能用的Zero后端,速度提升了 20x 以上。振奋人心。具体可以通过RVI的SW邮件列表查看: https://groups.google.com/a/groups.riscv.org/g/sw-dev/c/HziqjQ_2o2w
开始支持 RVV 1.0 草案规范。欢迎使用,地址在老地方:
https://github.com/isrc-cas/rvv-llvm
同时我们也开放了使用的 benchmark(整理自 RISC-V V 扩展的官方文档)
https://github.com/isrc-cas/rvv-benchmark
本次除RVV之外没有其他新增内容。
目前正在全力推动rebase to upstream,在新近跟google master分支的rebase之后,回归测试集一片飘红,正在挨个fix。
-
Fix issue 314,解决因lazy deopt改成builtin之后,引入的codesize check错误。 https://github.com/v8-riscv/v8/pull/3202
-
Fix issue317,解决因meda data地址不对齐造成的check错误。 https://github.com/v8-riscv/v8/pull/3193
-
去掉不符合Chormium代码规范的cfenv头文件 riscv-collab/v8#312
-
仿照longfruit(一个差分分析gcc和llvm生成的RISCV指令的脚本),添加了一个差分分析v8-mips64和v8-riscv64的脚本 riscv-collab/v8#324
-
增加指针压缩在riscv上的实现 riscv-collab/v8#322
-
修复rebase tip后出现的死循环 riscv-collab/v8#325
-
完成 shell 和 init 的移植,目前可以实现完全基于 bionic 的 libc 库,采用静态链接的方式生成一个最小的 android 根文件系统。该 rootfs 可以在 qemu-system-riscv64 上启动运行,并支持运行一些基本的操作命令。此外还改进了原先的 make 框架系统,为下一个阶段进一步支持动态链接做准备。更多进展信息请参考 PLCT 在 github 上的 AOSP on RISC-V 工作组项目状态报告,以及目前开源在 github 上的代码仓库 https://github.com/aosp-riscv/。下一步的工作重点是增加动态链接支持,继续完善 bionic 功能并尝试移植 AOSP 的 Soong 构造系统,支持采用 AOSP 的 Soong 构造系统编译 RISC-V 版本的 bionic 库和相关应用。
-
“知乎” 上的 “RISC-V、Linux 和 AOSP” 专栏持续更新,发布了一篇介绍文章:《第一个 RISC-V 上的“Android 最小系统”》。
- “知乎” 上的 “Java on RISC-V” 专栏持续更新,发布了一篇实验报告:
- 毕昇JDK 11 for RICSV64构建及HiFive Unleashed测试:https://zhuanlan.zhihu.com/p/302421409
- 修改了毕昇JDK 11 for RICSV64官方构建文档的几处问题
- 在HiFive Unleashed对毕昇JDK 11 for RICSV64及OpenJDK11 Zero进行了SPECjvm2008 benchmark测试:
本期没有新的进展。
本期没有新的进展。
正在尝试添加Spike对于Zfinx扩展的支持,本期没有新的进展。
1.PLCT实验室的史宁宁编写的《华为方舟编译器之美——基于开源代码的架构分析与实现》已由清华大学出版社出版,各大电商平台已经开始销售。
2.PLCT实验室的史宁宁依然每周在更新方舟编译器社区周报(OpenArkCompiler Weekly),目前已经更新到第三十九期。
方舟编译器周报每周日晚上通过Repo、知乎、Bilibili和邮件列表发布。
Repo: https://github.com/isrc-cas/arkcompiler-materials
知乎:https://zhuanlan.zhihu.com/openarkcompiler
Bilibili:https://www.bilibili.com/read/readlist/rl199373
邮件列表及其订阅方式:https://gitee.com/openarkcompiler/OpenArkCompiler/issues/I1EWAX
PLCT实验室张洪滨向 MLIR repo 提交 patch:
Committed:
[mlir] Get array from the dense elements attribute with buffer protocol.
https://reviews.llvm.org/rG77133b29b93406638915c7d9a6b8b8a81a067df3
- Add mlirElementsAttrGetType C API.
- Add def_buffer binding to PyDenseElementsAttribute.
- Implement the protocol to access the buffer.
Differential Revision: https://reviews.llvm.org/D91021
[mlir] [Python] Sync Python bindings with C API MlirStringRef modification.
https://reviews.llvm.org/rG5f0c1e380661f5a28fb8e87d70a68fa31e923436
MLIR C API use the MlirStringRef instead of const char * for the string type now. This patch sync the Python bindings with the C API modification.
Differential Revision: https://reviews.llvm.org/D92007
Waiting on Review:
[mlir][Python] Sync Python bindings with C API MlirStringRef modification.
TODO 实习生招募!
本期没有新的进展。
TODO 实习生招募!
TODO 实习生招募! 本期没有新的进展。
永恒天平项目计划进入 RISC-V 基金会的 code speed opt SIG 作为基础设施。
https://github.com/isrc-cas/eternal-balance
如果你感兴趣,欢迎加入永恒天平项目,一起做些有意思的事情!
Rust语言简介及RISC-V移植现状 - 韩博阳 - 20201125 - PLCT实验室
报告视频地址:https://www.bilibili.com/video/BV1UD4y1X728
Slides 下载地址:https://github.com/isrc-cas/PLCT-Open-Reports
本周没有新的消息。该项目第一阶段已经完成。
陈嘉炜在RISCV-GNU—Toolchain中对GCC和Binutils添加了Zfinx支持,并在RISCV-CODESIZE-REDUCTION会议上进行了工作介绍:
Zfinx扩展介绍(目前还处于草案修订状态):
https://github.com/riscv/riscv-zfinx
项目地址:
https://github.com/pz9115/riscv-gcc/tree/riscv-gcc-10.2.0-zfinx https://github.com/pz9115/riscv-binutils-gdb/tree/riscv-binutils-2.35-zfinx https://github.com/pz9115/riscv-zfinx
项目介绍:
Zfinx移植介绍:https://b23.tv/V6y5f7 Zfinx工作介绍:https://b23.tv/A7hhMw 进度报告:https://b23.tv/CiXU4n
- 关于建立RISC-V社区软件移植及优化工作的双周同步机制的倡议 https://zhuanlan.zhihu.com/p/324156794
- PLCT的英文博客: https://plctlab.org
- PLCT许愿池2020计划 https://github.com/isrc-cas/PLCT-Weekly/blob/master/RISCV-DevTools-Wishlist-2020.md
- PLCT2020年开源路线图 https://github.com/isrc-cas/PLCT-Weekly/blob/master/RISCV-Roadmap-2020.md
- 面向国内 RISC-V 芯片厂商的 QEMU 支持计划 https://github.com/isrc-cas/PLCT-Weekly/blob/master/PLCT-QEMU-Support-Project-for-Domestic-RV-Vendors.md
- PLCT OpenDay 2019 https://github.com/isrc-cas/PLCT-Weekly/blob/master/PLCT-OpenDay-2019.md
- PLCT实验室的开放职位 https://github.com/isrc-cas/PLCT-Weekly/blob/master/open-positions.md
- PLCT Weekly https://github.com/isrc-cas/PLCT-Weekly
- PLCT 公开报告 https://github.com/isrc-cas/PLCT-Open-Reports
- PLCT工具箱 https://github.com/isrc-cas/PLCT-toolbox
- C910 LLVM 支持 https://github.com/isrc-cas/c910-llvm
- RISC-V Vector Extension Support(rvv-llvm) https://github.com/isrc-cas/rvv-llvm
- rvv-benchmark https://github.com/isrc-cas/rvv-benchmark
- OpenCV for RISC-V https://github.com/isrc-cas/opencv-riscv (目前直接提交给上游了)
- V8 for RISC-V https://github.com/v8-riscv/v8
- 永恒天平 https://github.com/isrc-cas/eternal-balance/
- QuickJS for RISC-V https://github.com/isrc-cas/quickjs-riscv
- PLCT-QEMU https://github.com/isrc-cas/plct-qemu
- Flounder https://github.com/isrc-cas/flounder
- pacific(方舟编译器玩具运行时) https://github.com/isrc-cas/pacific