joe 发表于 2022-4-29 16:53:59

东亚时区RISC-V双周会(20220428)

东亚时区RISC-V双周会
2022年04月28日·第034次
https://github.com/cnrv/RISCV-East-Asia-Biweekly-Sync
Host: 廖春玉 <chunyu@iscas.ac.cn>
Organizer: PLCT Lab wuwei2016@iscas.ac.cn

会议议程(15:00 - 16:00)
● 自我介绍、等待参会者接入、非技术话题八卦(5分钟)
● RVI 的更新和八卦(基本上跟东亚双周会群内消息同步)
● Unratified Specs 的参考实现进展
● 东亚地区小伙伴的项目更新
● 自由讨论RISC-V International 同步
● 参加的会议在微信群里发了会议纪要
● 近期RVI的Zoom链接大调整,很多会议的地址变更了
● Software HC 拆分了: 特权软件HC和应用工具HCAOSP for RISC-V - 汪辰、陆旭凡
* RVI upstream:
- (https://github.com/riscv-android-src/platform-external-qemu/pull/3)
- (https://github.com/riscv-android-src/platform-external-qemu/pull/4)
- (https://github.com/riscv-android-src/platform-external-qemu/pull/7)
- (https://github.com/riscv-android-src/kernel-common/pull/1)
- (https://github.com/riscv-android-src/platform-prebuilts-android-emulator/pull/1)
- (https://github.com/riscv-android-src/kernel-prebuilts-5.10-riscv64/pull/1)
- (https://github.com/riscv-android-src/riscv-android/pull/2)
* aosp-riscv development
- (https://gitee.com/aosp-riscv/platform_build/pulls/4)
* Articles:
- (https://gitee.com/aosp-riscv/working-group/pulls/31)
- (https://gitee.com/aosp-riscv/working-group/pulls/32)RISC-V GCC进展
目前已编写完成了Zc扩展的可执行测试,正在编写CMO扩展的可执行测试中,配合模拟器进行指令功能验证
https://github.com/yulong-plct/riscv-gcc/tree/exec-test
正在Rebase P扩展的支持并尝试支持自动向量化
https://github.com/linsinan1995/riscv-gcc/tree/riscv-gcc-experiment-p-ext
新forzen的HPM Counter enhancements草案中的Zicntr与Zihpm扩展引发了一些讨论
https://www.intel.com/content/www/us/en/developer/articles/technical/performance-counter-monitor
https://lists.riscv.org/g/tech-privileged/message/301
https://github.com/riscv/riscv-profiles/issues/43
正在协助修复upstream riscv-gcc发现的一些回归测试错误
https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593339
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102892
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94157Clang/LLVM 进展 (PLCT)
Gollvm,上两周本地搞定了交叉编译,在unmatched上也可以完成50%的编译,后面可能需要gollvm的伙伴帮忙修改框架,
另外, 如果有朋友了解llvm::CallingConv::X86_64_SysV, llvm::CallingConv::ARM_AAPCS欢迎帮忙回答:
https://stackoverflow.com/questions/72038870/gollvm-why-does-gollvm-only-support-x86-64-sysv-and-arm-aapcs
Upstream
被合并的patch
1. NFC, 使用ArrayRef类型,降低RISC-V中TargetLowering函数的代码重复: https://reviews.llvm.org/D123653
新的patch
1. 尝试添加一些b扩展的intrinsic: https://reviews.llvm.org/D124348
2. 尝试给shuffle broadcast 添加代价:https://reviews.llvm.org/D124101
Clang / LLVM 社区的更新 (廖春玉、陆旭凡)
1. D123970 Add isCommutable to
ADD/ADDW/MUL/AND/OR/XOR/MIN/MAX/CLMUL
2. D124222 Improve constant materialization for cases that can use
LUI+ADDI instead of LUI+ADDIW.
3. D124231 Merge addi into load/store as there is a ADD between them
4. D123978 Support getHostCpuName for sifive-u74
5. D123975 Add rvv codegen support for vp.fpext.QEMU/Spike 中 K / Zce / Zfinx /全家桶 进展 (PLCT)
● QEMU K 扩展支持更新到v12
○ https://github.com/plctlab/plct-qemu/tree/plct-k-upstream-v12
● Zce目前修复了部分测试bug
○ https://github.com/plctlab/plct-qemu/tree/plct-zce-0.70.0
○ https://github.com/plctlab/plct-spike/tree/plct-zce-dev-0.70.0
● Spike Zfinx暂无更新
○ https://github.com/riscv-software-src/riscv-isa-sim/pull/831
● 全家桶修复了一个array bound 溢出问题
○ https://github.com/plctlab/plct-qemu/tree/plct-machine-devV8 for RISC-V 更新(邱吉、陆亚涵)
RV64:
   Upstream port:
● 3609751: Remove the Dummy interface descriptor | https://chromium-review.googlesource.com/c/v8/v8/+/3609751
● 3606619: Reland " Use the new OSR cache" | https://chromium-review.googlesource.com/c/v8/v8/+/3606619
   Fix bug:
● 3600174: Fix relocation attribute not loaded correctly | https://chromium-review.googlesource.com/c/v8/v8/+/3600174
● 3596441: Fix codegen error of Simd128_AndNot | https://chromium-review.googlesource.com/c/v8/v8/+/3596441
● 3586773: use not equal to confirm sc whether success or not | https://chromium-review.googlesource.com/c/v8/v8/+/3586773
● 3585499: Fix emit_u32_to_uintptr to be zero-extended | https://chromium-review.googlesource.com/c/v8/v8/+/3585499
● 3585492: Fix the StaticStackFrameSize | https://chromium-review.googlesource.com/c/v8/v8/+/3585492
RV32(https://github.com/riscv-collab/v8):
    V8 for RV32 can run hello.js on both embedded simulator and qemu-riscv32


   OpenJDK for RISC-V 更新(RV64及upstream)
1、8284863: riscv: missing side effect for result in instruct vcount_positives
https://github.com/openjdk/jdk/pull/8239
2、8285711: riscv: RVC: Support disassembler show-bytes option
https://github.com/openjdk/jdk/pull/8421
3、8285437: riscv: Fix MachNode size mismatch for MacroAssembler::verify_oops*
https://github.com/openjdk/jdk/pull/8356
4、8285303: riscv: Incorrect register mask in call_native_base
https://github.com/openjdk/jdk/pull/8353
5、8284937: riscv: should not allocate special register for temp
https://github.com/openjdk/jdk/pull/8283JIT部分:
1、Revert 'is64' in riscv32.ad and macroAssembler_riscv32.hpp(张定立)
https://github.com/openjdk-riscv/jdk11u/pull/374
2、Fix OptoReg out of range during c2 initialization(曹贵)
https://github.com/openjdk-riscv/jdk11u/pull/378
3、Fix insufficient codebuffer caused by align logic in MacroAssembler::emit_trampoline_stub function(曹贵)
https://github.com/openjdk-riscv/jdk11u/pull/380
4、Fix the data of lui/addi(史宁宁)
https://github.com/openjdk-riscv/jdk11u/pull/382
OpenJDK for RISC-V 更新(RV32/PLCT)openEuler RISC-V
openEuler_Developer Day 2022召开
● openEuler_Developer_Day_2022 SIG-RISC-V sig顺利召开
:https://etherpad.openeuler.org/p/SIG-RISC-V_openEuler_Developer_Day_2022_Planning
● 参与【圆桌会议:凡是未来 皆有可期-社区运作版本规划】
:https://www.openeuler.org/zh/interaction/summit-list/devday2022/
● 参与 多样性计算分论坛:openEuler 在RISC-V的生态建设和展望 报告(吴伟)
:https://live.issmart.com.cn/Live/openEulerLive/#/pc?eventId=6008&liveId=b61bc8f2&lang=cn&utm_source=live
oerv OBS 服务器完成部署
● 新增obs 200 vcore:https://build.tarsier-infra.com/monitor
● OBS共计15个工程的创建/迁移:https://build.tarsier-infra.com/project
● 构建效率基本达到5000个软件包在24小时构建完的效率;同时openEuler 2203完成stage1,stage2进行中
PR 新增 31个
● https://gitee.com/openeuler/RISC-V/blob/master/archive/weeklyreports/2022-04-21.md
测试
● 在openEuler RISC-V QEMU搭建XFCE+Firefox环境openEuler RISC-V
镜像制作
● 增加生成tar格式系统压缩文件脚本:https://gitee.com/openeuler/RISC-V/tree/master/tools/osmaker/qemuimg
● 文档更新:镜像脚本使用说明
RISC-V 软件源&每日镜像:
● Yum源机制完善与更新
● 自动镜像生成:进行中
硬件适配:
来自社区的袁老师完成了openEuler 在visionfive上的适配。
将openeuler 22.03在visionfive板上跑起来了。Gentoo for RISC-V 的情况更新
● 两周共计 328 个 keywording 提交 https://rvk3b.plctlab.org/riscv/RISC-V-双周会/20220428/commits.txt
○ dev-libs/libfilezilla: fix atomic issue gentoo/gentoo@5de5b89,
and report to upstream, https://trac.filezilla-project.org/ticket/12699
○ gui-libs/gtksourceview: workaround timeout issue, gentoo/gentoo@0fdbe80
○ sci-libs/openblas: fix riscv detect, gentoo/gentoo@70649b9
pr: gentoo/gentoo#25217, upstream: xianyi/OpenBLAS#3613
● riscv overlay
○ www-client/firefox: bump to 98.0.2, gentoo/riscv#3
○ ev-qt/qtwebengine: update patch set & version bump (5.15.3_p20220406)
patches: https://dev.gentoo.org/~dlan/distfiles/dev-qt/qtwebengine/qtwebengine-5.15.3-riscv-0.tar.xz
commit: gentoo/riscv@5bc5d92
● opened PR
○ dev-java/openjdk: add riscv support, gentoo/gentoo#25129Arch Linux RISC-V (东东)
1. 移植进度
2578 / 2964 (86.97%)(新增38)
7036 / 9147 (76.92%)(新增110)
2. Archriscv-packages merged 104 PR. highlights
Updpkg: chromium
Updpkg: mesa
Updpkg: gcc
Addpkg: qt6-baseFedora for RISC-V
SRPM打包编译进度
6840 / 22832 (30.0%)(保守估计)
现在主要以主要模块化软件刷包为主,比如
Python、Perl、Rust、Ruby、R,等等
F36 highlights:
● koji build supported
● QEMU XFCE graphic desktop supported
软件版本:
● GCC 12.0.1
● Glibc 2.35
● Binutils 2.37-27 → 2.37-28
● Python 3.10.4 → 3.11
● Perl 5.34.1
● LLVM/Clang 13.1 → 14.0
● Rust 1.58.1→ 1.59.0
Images:
● minimal Image : 314 rpm packages
● developer Image : 1231 rpm packages
● XFCE Image : 1506 rpm packages
● GNOME Image: 短期目标【TODO】Debian for RISC-V

https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/295
                      https://salsa.debian.org/rust-team/debcargo-conf/-/merge_requests/296
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009969.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010056
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010148.
[(re)open upstream issue]
https://github.com/microsoft/vscode/issues/147751
https://github.com/likebike/fasteval/issues/19
https://github.com/dealii/dealii/issues/13639
http://lists.infradead.org/pipermail/kexec/2022-April/024684.html
https://github.com/FillZpp/sys-info-rs/issues/105FW相关更新 (王翔)
❖ opensbi
➢ Sstc扩展更新到第二版本,主要添加MENVCFG支持,只有存在
MENVCFG时才存在Sstc
➢ 文档更新,改进PMU DT绑定的说明RISCV性能跟踪小队 - 陈小欧

1. 对比Unmatched上GCC和LLVM的SPEC CPU2017的性能差异
https://zhuanlan.zhihu.com/p/506469813
2. 在Unleashed、Unmatched和D1三款开发板上的性能测试对比
Dhrystone, FPMark,Linpack,Whetstone,Coremark测试
https://github.com/mollybuild/RISCV-Measurement/blob/master/Run-Embedded-Benc
hmarks-on-Unleashed-Unmatched-D1.md
3. Unmatched的内存带宽测试(STREAM测试)
https://github.com/mollybuild/RISCV-Measurement/blob/master/Run-STREAM-on-Un
matched.md
4. 在Unleashed和Unmatched上的nbench测试
https://github.com/mollybuild/RISCV-Measurement/blob/master/Run-nbench-on-Unm
atched-Unleashed.md香山开源RISC-V处理器 - ICT / PCL
- 南湖架构 FPGA 调试接近尾声
- 目前重点调试双核 & DMA
- 后续工作
- 基于南湖架构的产品化改造(目前与一些公司合作,未来可能有产品推出)
- 新一代昆明湖架构的设计与研发
- 欢迎对微结构感兴趣的同学来香山实习呀(MLIR RISC-V Vector (RVV) Dialect Proposal - 张洪滨
等待 Review
- RFC Patch -https://reviews.llvm.org/D108536
- RFC Post -https://discourse.llvm.org/t/rfc-add-risc-v-vector-extension-rvv-dialect/4146/32
- MLIR + RVV 集成测试环境搭建文档 - https://gist.github.com/zhanghb97/ad44407e169de298911b8a4235e68497
- 关于统一集成测试配置的讨论 - https://discourse.llvm.org/t/rfc-add-risc-v-vector-extension-rvv-dialect/4146/32
也许可以在真正的 RVV 硬件上进行测试
- @Powderluv 伸出了援手 -https://discourse.llvm.org/t/rfc-add-risc-v-vector-extension-rvv-dialect/4146/33
         (等待对方回复)面向 RISC-V 的 OpenCV 情况更新 - 韩柳彤
● OpenCV 演进提案(OpenCV Evolution)Issue#21829:可变长向量指令的支持
在OE-27 - Wide Universal Intrinsics的基础上,进一步扩展Universal Intrinsics的能力,从而更
好的支持可变长向量体系结构。
示例项目:https://github.com/hanliutong/rvv-ui
实现了部分新的UI接口
提供了复用当前 Universal Intrinsic 用户代码的方法,将与上游社区讨论
● 观测到 @zhongjuzhe 更新了GCC中 rvv-intrinsic 的支持,我们正在 OpenCV 中进
行测试和同步更新Chisel and Additional Technology / Sequencer
● 郑鈜壬 @ZenithalH
○ Finish Rocket Zk RTL https://github.com/chipsalliance/rocket-chip/pull/2950
○ RV Kext support for OpenSSL https://github.com/openssl/openssl/pull/18197
○ Bump Opcode for RV https://github.com/chipsalliance/rocket-chip/pull/2956
○ Remove unratified extension in Kernel https://lore.kernel.org/linux-riscv/YmcbwYcSzwLSepWZ@Sun/
○ Modernize rv-opcodes to Python 3 https://github.com/riscv/riscv-opcodes/pull/104
○ Rv-opcodes add RVK in Makefile https://github.com/riscv/riscv-opcodes/pull/105
● 程光辉 @wissycgh
○ Finish SRT Divider RTL https://github.com/sequencer/arithmetic/pull/25
● 罗云千 @SharzyL
○ ARA debugging & learning
● 廖杰 @Jay_Liao_11
○ Diplomacy BundleBridge 测试 https://github.com/chipsalliance/diplomacy/pull/11
● 叶泽文 @LucasWye
ChaCha RTL done https://github.com/sequencer/arithmetic/pull/26
● 苑浩然 @ndxsf
Espresso/QMC 算法详细研究(Rewrite in Scala)
● 杨砚祺 @midnighter95
整理RocketChip Debug Module RTL
● 张露承 @WuhuAirlines
○ https://github.com/chipsalliance/treadle/issues/407
○ https://github.com/riscv-software-src/riscv-pk/pull/264
● 陈泱宇 @chenyy
○ 学习Sparta 准备 modeling Rocket
● 申奥 @oceansen 陈春昀 @SingularityKChen 王睿康 @dramforever 韩博阳 @yqszxx 刘思皓 @cerebras 刘晓义 @CircuitCoder
○ 可控摸鱼VM:为Linux添加虚存拓展支持-潘庆霖
● 注:提交人不在线
● 上次发送的Svnapot patchset仍未得到社区反馈,预计近期更新patchset版本重新发送gem5 RVV 1.0 支持情况
● 开源网址:https://github.com/plctlab/plct-gem5。
● 实现方式:CPU集成,使用微指令实现向量访存和运算。
● gem5各个CPU模型支持情况:AtomicSimpleCPU、TimingSimpleCPU、MinorCPU已支持。O3CPU部分
支持,mask相关指令存在问题,正在修复。
● RVV指令支持情况:已支持~100条常用向量指令,约占总指令数的15%,已实现的指令均通过 SEW 从
8到64,LMUL 从1/8到8的测试。由于目前RVV缺少测试集,已实现的指令暂时使用@胡轩个人开发的
riscv-vector-tests完成基本的指令功能测试。该测试仓库随着gem5中RVV的开发进度逐渐更新。
● 后续工作:
○ 完善O3CPU支持。
○ 完善指令支持,进一步支持更多RVV指令。
○ 增加动态的Latency 支持,完善OpClass。目前所有的Vector指令都被放到了VectorDummyOp中
,且Latency都为1。
○ 完整的Spec支持。包括vill,vstart,尾端处理vta、vma等。Spidermonkey for RISC-V - 吴伟
● 过去两周没有新的进展
○ 重新加入了 PLCT Roadmap 2022 计划
○ 但是这次并没有重新放入到LFX Mentorship(专业对口的太少了)
○ https://github.com/plctlab/gecko-dev-riscv/pull/3
● 欢迎感兴趣移植的小伙伴通过实习、兼职或全职形式加入
○ https://github.com/lazyparser/weloveinterns/blob/master/open-internships.md
○RISC-V 笔记本计划的进展 / 吴伟
● 过去2周硬件部分没有观察到有新的动作

● 软件部分,目光开始看向
○ LibreOffice: 我们很高兴有一位全职员工 钱耀津 同学 all in!
○ LuaJIT:呼唤勇士
○ DynamoRIO:呼唤勇士
○ Valgrind:呼唤勇士
○ DartVM:呼唤(还没搞清楚要呼唤啥)
○ Mono:需要么?
○ Chromium:SUSE上ok但是其它发行版还不行,呼唤勇士

joe 发表于 2022-4-29 16:58:52

同步在此:https://github.com/cnrv/RISCV-East-Asia-Biweekly-Sync

joe 发表于 2022-4-29 16:59:31

pdf文档:
页: [1]
查看完整版本: 东亚时区RISC-V双周会(20220428)