这段时间的业界八卦太多了。龙芯高调宣布跟MIPS指令集脱钩,另立门户 LoongArch,算是圆了20年前胡伟武老师那句「完全自主CPU」的说法。然而一如既往的,指令集手册一直没有开放下载,自主或许有了,自由开放是不存在的。Arm 正在被 NVidia 收购谈判,已经进入了排他性谈判的阶段。可以想见不太可能顺利通过各个大国集团的商务部批准,但是一个已经确认的事情是,不管 Arm 最后是否落入黄大叔烤箱,猜疑链已经启动了,安谋中国的处境会越发尴尬。RISC-V 基金会董事会(BoD)增选结果公布,大陆包云岗老师竞选成功,董事会中有接近半数是华人席位了。
相比起来,PLCT实验室从8月份开始,就已经没有什么值得拿出来说的新闻了。这倒是在我的意料之中:RISC-V Vector Extension (rvv-llvm)继续在开发中,由于我们现在同时在支持 OpenCV for RISC-V 的 GSoC 项目以及跟进 upstream 的贡献,开发迭代的节奏比以前更快、压力也更大了一些; V8 for RISC-V 的工作,已经完全进入到 Peng Wu 前辈带领的社区中进行贡献,根据路线图,将会在9月4日后,开始向 Google V8 进行 upstream (的第一次尝试)。 Android (AOSP)for RISC-V 的项目也向业界公开了,虽然刚开始,只有几个魔改的小 patch,尚未吸引到更多的人参与进来。
世界格局剑拔弩张的时刻,坐下来,静下来,提一口气,写点代码和bugs,继续为 RISC-V 生态添砖加瓦。
一个月前,有如堂吉柯德一般,小小的PLCT实验室开始分出两名员工,开始了 AOSP for RISC-V 的技术准备工作。 我们在 RISC-V 的邮件列表上热情的倡议社区的参与,不过可惜的是目前还有人任何人开始参与。而开心的是有两位 RISC-V 社区的外国小伙伴添加了我的领英好友并鼓励 AOSP 项目能够做下去。 我们会做下去。毕竟我们精打细算的收支平衡还是可以维持好几年时间的。或许最后非盈利专业技术团体的路线会像 Mozilla 一样逐渐陨落(还没),我们目标是先成为行业的标杆之一 ;-) 公开的 GitHub 群组已经已经建立, working group 也开始有了第一次的进展更新。相信慢慢的会有第一个人加入,第二个,然后一百个。
持续更新,主要是bugfix以及一些代码的调整。在 intrinsics
的实现上,我们还在努力中。
同时,除了 rvv-iscas
分支之外, OpenCV 开发的需要我们新开放了几个分支,例如 opencv
等。
这些分支是作为 opencv + rvv 联合调试用的,后续会陆续合并到 rvv-iscas
。
欢迎使用,地址在老地方:
https://github.com/isrc-cas/rvv-llvm
同时我们也开放了使用的 benchmark(整理自 RISC-V V 扩展的官方文档)
https://github.com/isrc-cas/rvv-benchmark
本次除RVV之外没有其他新增内容。
- 为RISCV模拟器添加了对float NaN box的支持 riscv-collab/v8#120
- 修复了一个小bug,添加了RISCV架构的ELF机器码 riscv-collab/v8#128
-
PLCT实验室创建了AOSP for RISC-V的 working group,欢迎大家关注和参与:https://github.com/aosp-riscv/working-group
-
PLCT实验室已经开始向RISC-V移植AOSP,截止目前为止:已经为lunch添加RISC-V目录,并可成功加载;已经为build/make、build/soong添加RISC-V配置文件;正在调试build/blueprint和art的RISC-V配置文件。
-
PLCT实验室的汪辰发布了两个AOSP for RISC-V相关的视频:
AOSP的构建系统和RISC-V移植初步:https://www.bilibili.com/video/BV1PA411Y7mz
AOSP for RISC-V 移植教程之 Android Runtime 介绍:https://www.bilibili.com/video/BV1wC4y1t7Xa
我们在芯来SoC的支持上遇到了点以外的bugs,之前交付的时间双delay半个月了。非常乐观的估计 9月1日 之前可以再推送一波代码到(之前推送的代码只完成了部分功能,中断的处理和返回有bugs,一直没搞定):
https://github.com/isrc-cas/plct-qemu/tree/plct-nuclei
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/harmonyos/OpenArkCompiler/issues/I1EWAX
Spike snapshot提交的第二轮PR暂时没有回复。本期新增块设备功能支持,初步功能已实现,能够通过plugin device支持块设备加载,代码尚在整理当中,后续会更新到github中。
sifive发起了第三版patchset,目前已合并到了rvv-sifive-rfc-rc3分支中,github地址: https://github.com/isrc-cas/plct-qemu/tree/rvv-sifive-rfc-rc3 该版本patchset已摒弃了纯粹的RVV v0.9版本支持,而是更新到了最新的RVV v1.0 draft版本,由于该版本修改了vtype寄存器的域结构,因此支持早期rvv版本的编译器编译生成的程序运行可能会存在问题(参见:https://github.com/isrc-cas/plct-qemu/issues/8)。
对上期的创建的虚拟PLCT RVV machine进行了优化,目前已运用于llvm rvv测试中,能够在fedora系统下测试各rvv测试用例。
MLIR C API进入主分支: https://github.com/llvm/llvm-project/tree/master/mlir/include/mlir-c
我们第一时间为C API提供了Python Bindings的尝试,并发布了patch和RFC:
Initial python bindings for C API patch:https://reviews.llvm.org/D85481
[RFC] First step Python bindings for C API: https://llvm.discourse.group/t/rfc-first-step-python-bindings-for-c-api/1578
社区中其他的关于Python Bindings的讨论:
Next steps on python bindings:https://llvm.discourse.group/t/next-steps-on-python-bindings/1570
Ownership model in Python bindings:https://llvm.discourse.group/t/ownership-model-in-python-bindings/1579
刚起步,招募 LV3 实习生作为代码分析员,欢迎投递简历, all remote 🎉
刚起步,招募 LV3 实习生作为代码分析员,欢迎投递简历, all remote 🎉
刚起步,招募 LV3 实习生作为代码分析员,欢迎投递简历, all remote 🎉
Circuit Capture of Chisel Part 3 Debug Info - 韩博阳 - 20200805 - PLCT实验室
https://www.bilibili.com/video/BV1Ti4y1G7Gb
(为了方便阅读将之前的几个视频也贴在这里)
Part 2 https://www.bilibili.com/video/BV1Zi4y137gs
Part 1 https://www.bilibili.com/video/BV1Qk4y127bC
Part 0 https://www.bilibili.com/video/BV1qV41167Wu
我们制作了RISCV环境配置和关于CodeSize环境配置的视频教程:
RISC-V 编译及QEMU、Spike模拟器配置:https://www.bilibili.com/video/BV1D54y1m78G
如何进行 RISC-V 工具链 CodeSize 的实验:https://www.bilibili.com/video/BV1Di4y1u7A9
项目本身没有更新。地址在:
https://github.com/isrc-cas/eternal-balance
如果你感兴趣,欢迎加入永恒天平项目,一起做些有意思的事情!
Kaleidoscope 代码解释 1/3 - 孙少策 - 20200805 - PLCT实验室
https://www.bilibili.com/video/BV1qk4y1m7tf
芯片开源就能行?走进RISC-V软件生态 - 吴伟 - 20200721 - 公开报告
https://www.bilibili.com/video/BV1L5411a7Zg
QEMU RISU 测试工具介绍 - 石可人 - 20200805 - PLCT实验室
https://www.bilibili.com/video/BV1FZ4y1M7zG
Linux设备树介绍及加载过程分析 - 王萌 - 20200812 - PLCT实验室
https://www.bilibili.com/video/BV1Ti4y1g7oH
程序语言基础之匿名函数 - 陈影 - 20200814 - PLCT实验室
https://www.bilibili.com/video/BV12t4y1D7cL
[1] PLCT许愿池2020计划 https://github.com/isrc-cas/PLCT-Weekly/blob/master/RISCV-DevTools-Wishlist-2020.md
[2] PLCT2020年开源路线图 https://github.com/isrc-cas/PLCT-Weekly/blob/master/RISCV-Roadmap-2020.md
[3] PLCT南京小队隶属于软件所南京分院智能软件研究中心。
[4] 面向国内 RISC-V 芯片厂商的 QEMU 支持计划 https://github.com/isrc-cas/PLCT-Weekly/blob/master/PLCT-QEMU-Support-Project-for-Domestic-RV-Vendors.md
[5] PLCT OpenDay 2019 https://github.com/isrc-cas/PLCT-Weekly/blob/master/PLCT-OpenDay-2019.md
[6] RISC-V Vector Extension Intrinsic RFC 开始活跃更新,我们号召国内厂商抱团参与 https://mp.weixin.qq.com/s/qAQmXwhCccVGms90lJzz2g
[7] PLCT实验室的开放职位 https://github.com/isrc-cas/PLCT-Weekly/blob/master/open-positions.md
[8] [PLCT] 面向国内 RISC-V 芯片厂商的 QEMU 支持计划 https://mp.weixin.qq.com/s/e5dDHOUY6oz3KBhqCRn5nw
[9] https://github.com/isrc-cas/PLCT-Weekly/blob/master/interns.md
- PLCT Weekly https://github.com/isrc-cas/PLCT-Weekly
- C910 LLVM 支持 https://github.com/isrc-cas/c910-llvm
- RISC-V Vector Extension Support(rvv-llvm) https://github.com/isrc-cas/rvv-llvm
- V8 for RISC-V https://github.com/isrc-cas/v8-riscv
- 永恒天平 https://github.com/isrc-cas/eternal-balance/
- PLCT 公开报告 https://github.com/isrc-cas/PLCT-Open-Reports
- 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
- OpenCV for RISC-V https://github.com/isrc-cas/opencv-riscv
- pacific(方舟编译器玩具运行时) https://github.com/isrc-cas/pacific
- rvv-benchmark https://github.com/isrc-cas/rvv-benchmark
- 工具箱 https://github.com/isrc-cas/PLCT-toolbox