Skip to content

Latest commit

 

History

History
194 lines (106 loc) · 7.25 KB

2020-09-01.md

File metadata and controls

194 lines (106 loc) · 7.25 KB

PLCT开源进展·第08期·2020年09月01日

卷首语

本期亮点: AOSP for RISC-V

RISC-V 开源工具链进展

RISC-V Vector Extension Support

TODO

欢迎使用,地址在老地方:

https://github.com/isrc-cas/rvv-llvm

同时我们也开放了使用的 benchmark(整理自 RISC-V V 扩展的官方文档)

https://github.com/isrc-cas/rvv-benchmark

Clang/LLVM for RISC-V

TODO

本次除RVV之外没有其他新增内容。

V8 for RISC-V 项目进展

  1. RISCV-V8在合入上游最新的代码之后,新增了多个构建目标导致构建失败。PLCT实验室提交了pr分别修复了构建脚本与缺失的汇编代码

    riscv-collab/v8#164

  2. 在PLCT实验室提交给的google上游bug修复之后,PLCT启动了RISCV-V8的项目fuzz测试

    老的pr: riscv-collab/v8#67

    上游issue: https://bugs.chromium.org/p/v8/issues/detail?id=10770

    新的pr: riscv-collab/v8#190

  3. 重构宏汇编器中使用t5和t6临时寄存器的方法 riscv-collab/v8#197

  4. 使用从Label中载入PC的方法替代原有的使用定值offset的方法来计算返回地址 riscv-collab/v8#202

AOSP for RISC-V

  1. PLCT实验室创建了AOSP for RISC-V的 working group,欢迎大家关注和参与:https://github.com/aosp-riscv/working-group

  2. PLCT实验室正在向RISC-V移植AOSP,截止目前为止:添加了RISC-V配置文件到build体系,在"mmm art/compiler"的命令下,目前已经解决了build目录、perbuilts目录生成ninja的错误,正在解决system目录和cts目录无法识别RISC-V架构的问题。

  3. PLCT实验室的汪辰新发布了两个AOSP for RISC-V相关的视频:

    AOSP for RISC-V 移植教程 003 开始 ART 移植:https://www.bilibili.com/video/BV1JK411M7e5

    AOSP for RISC-V 移植教程 004 dex 介绍:https://www.bilibili.com/video/BV1TK4y1e7kv

OpenJDK for RISC-V

OpenBLAS for RISC-V using Vector Extension

面向国内RISC-V厂商的QEMU支持计划

在方舟开源编译器社区的工作

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 新特性支持

块设备功能支持已实现,目前主要通过plugin device支持块设备加载,需要特定内核驱动模块支持(已完成,后续会和代码一起更新到github中,欢迎大家试用)。更进一步的virtio_blk, virtio_net后端功能正在移植当中。

QEMU RVV v0.9+ 指令集支持

sifive发起了第4版patchset,sifive自身已提交其github版本,PLCT这边暂时不再进行同步。 PLCT RVV machine暂无新功能添加。

MLIR

PLCT实验室张洪滨向MLIR repo提交patch:

Committed:

Initial MLIR python bindings based on the C API.

https://github.com/llvm/llvm-project/commit/fcd2969da9e04a70103bfbf8a382c0842fcf6aaf#diff-d9deddd32f9ffd2d005c6ec62c06c90f

  • Basic support for context creation, module parsing and dumping.

Differential Revision: https://reviews.llvm.org/D85481

[mlir] Add Index Type, Floating Point Type and None Type subclasses to python bindings.

https://github.com/llvm/llvm-project/commit/1f6c4d829c2dad147e30dcb0611eb9886dae9155#diff-d9deddd32f9ffd2d005c6ec62c06c90f

Based on the PyType and PyConcreteType classes, this patch implements the bindings of Index Type, Floating Point Type and None Type subclasses. These three subclasses share the same binding strategy:

  • The function pointer isaFunction points to mlirTypeIsA***.
  • The mlir***TypeGet C API is bound with the ***Type constructor in the python side.

Reviewed By: stellaraccident

Differential Revision: https://reviews.llvm.org/D86466

Reviewing:

[mlir] Add Complex Type, Vector Type and Tuple Type subclasses to python bindings

Differential Revision: https://reviews.llvm.org/D86785

CIRCT

OpenROAD

Chisel/FIRRTL

** FIRRTL 语言简介 @ OSDT **

Slides 下载地址:https://github.com/isrc-cas/PLCT-Open-Reports

技术报告视频地址 https://www.bilibili.com/video/BV12a4y177ME

永恒天平 / Eternal Balance

项目成员正在学习编程语言知识,持续更新《计算机程序的构造与解释》的学习记录如下:

https://zhuanlan.zhihu.com/p/193039589

https://zhuanlan.zhihu.com/p/201227236

https://zhuanlan.zhihu.com/p/202734420

https://zhuanlan.zhihu.com/p/208743032

永恒天平项目地址:

https://github.com/isrc-cas/eternal-balance

如果你感兴趣,欢迎加入永恒天平项目,一起做些有意思的事情!

其他工作

GSoC OpenCV项目进展

PLCT实验室的在读研究生张尹同学参与的GSoC项目“Optimize OpenCV for RISC-V”现在进入了GSoC的final evaluation. 项目简介,GSoC期间的项目代码,目前的实现情况,以及对未来的工作展望在下面的pull request中有详细介绍。GSoC结束后我们依然会继续推进该项目,进一步完善OpenCV中对RISC-V向量扩展的支持与实现。

Universal intrinsics implementation with RISC-V vector extension

参考链接

[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开源仓库及分享

  1. PLCT Weekly https://github.com/isrc-cas/PLCT-Weekly
  2. C910 LLVM 支持 https://github.com/isrc-cas/c910-llvm
  3. RISC-V Vector Extension Support(rvv-llvm) https://github.com/isrc-cas/rvv-llvm
  4. V8 for RISC-V https://github.com/isrc-cas/v8-riscv
  5. 永恒天平 https://github.com/isrc-cas/eternal-balance/
  6. PLCT 公开报告 https://github.com/isrc-cas/PLCT-Open-Reports
  7. QuickJS for RISC-V https://github.com/isrc-cas/quickjs-riscv
  8. PLCT-QEMU https://github.com/isrc-cas/plct-qemu
  9. Flounder https://github.com/isrc-cas/flounder
  10. OpenCV for RISC-V https://github.com/isrc-cas/opencv-riscv
  11. pacific(方舟编译器玩具运行时) https://github.com/isrc-cas/pacific
  12. rvv-benchmark https://github.com/isrc-cas/rvv-benchmark
  13. 工具箱 https://github.com/isrc-cas/PLCT-toolbox