Date: 3/17/2021¶
Agenda¶
Announcements
Community updates
Upstreaming updates
Action item follow-ups
Open PR Discussion
Presentations for any recent/planned developments
Minutes¶
Announcements
Initial commits have been merged
Sparkplug patch has been commited
Work on node.js has been started and initial builds have passed
v8 repo has been moved under riscv/v8
Community Updates
Managed runtimes group (java specific) sent out call for chair and co-chair
RISC-V foundation has setup a basic infrastructure for the specification and software
There is talks about setting up a group for performance modeling and performance profiling tools
Upstreaming
still waiting to get a proper privilege to thumbs up code.
Action Items¶
Changes to the CI in regardes to the master, riscv64, and riscv64-dev branches
Addition of architecture flags for compilation
Other¶
Working with RISC-V International to get internship positions for v8.
Date: 3/3/2021¶
Agenda¶
Announcements
Community updates
Upstreaming updates
Action item follow-ups
Open PR Discussion
Presentations for any recent/planned developments
Minutes¶
Announcements
The initial support of SparkPlug for RISC-V is [done] (https://github.com/riscv/v8/tree/riscv-sparkplug-dev)
tensorflow.js can run a the simple [demo] (https://www.tensorflow.org/js/tutorials/setup) on the [RISC-V node.js] (https://github.com/riscv/node/)
Upstreaming
still waiting to get a proper priviledge to maintain and review+ the RISC-V arch files
Other updating
[Test status] (https://github.com/riscv/v8/wiki/Testing-Status) in wiki page is updated.
The github issue and prs had been reviewed and cleaned up
C-ext support can run benchmark
Action Items¶
check and fix issue #53, #166, #297, #403, #414
test result for SparkPlug
moving on of C extension merge and evaluate
Date: 2/17/2021¶
Agenda¶
Announcements
Community updates
Discuss workflow after upstreaming (#442)
Minutes¶
Announcements
The Chromium team has released SparkPlug:
Sparkplug is a new baseline, non-optimising second-tier compiler, designed to fit in the compiler trade-off space between Ignition and TurboProp/TurboFan.
Community updates
Chairs for all RISC-V task groups are in a renominating process
RISC-V is holding several Forums in April and May - Events
RISC-V has some time slot at ISC
Software has two new TGs
Performance modeling tools
Performance profiling and monitoring tools
RISC-V is pushing extension/ISA groups to ensure that there are no encumbered (patents, copyrights) items in their proposals
Brice is working with Sanhong from Alibaba on a charter for the Managed Runtimes group
Will share with the team for input (on Slack)
It seems progress on JDK upstreaming is very slow
Upstreaming status
Yahan and Brice now have access to start trybots for our Gerritt reviews
# start default trybots git cl try # start RISC-V trybots git cl try -B luci.v8.try -b v8_linux64_riscv64_rel_ng
Brice requested port committer status for some of us, so that we may apply the “Code-Review +1” label (equivalent of a LGTM)
Waiting to hear back on that
We will need to wait for a full committer to approve changes for now
Discuss workflow after upstreaming (#442)
We will plan to make changes in our GitHub repo (this one), do our own code reviews here, then open upstream pull requests on Gerritt
If others submit changes upstream, we should review them, and also encourage the developers to join our group
How should we keep up-to-date with upstream?
Mirror upstream into master branch automatically
Run our regression tests on master to quickly identify problems caused by upstream changes
Rebase riscv64 branch regularly on to master
Brice will create a wiki page to describe the process of how we should stay in sync with upstream and the process that developers should follow to start new work
Qiuji will triage the issues from upstream and assign them to the team as needed
Derek suggested pushing the C extension changes without jumps as a separate pull request
Agreement from the group
Action Items¶
[ ] Create wiki page to describe new process for working with upstream - Brice
[ ] Open merge request for C extension (without jumps) - Derek
Date: 1/20/2021¶
Agenda¶
Announcements
Community updates
Upstreaming updates
Action item follow-ups
Open PR Discussions
Presentations for any recent/planned developments
Miscellaneous
Minutes¶
Community Updates:
There will be a RISC-V retreat on 1/27/2021 and 1/28/2021 Beijing time. Derek and Chao will showcase running V8 on PicoRio hardware.
Upstreaming Updates:
Updates from Wei about RVI meetings:
There are plans for a performance tracking system on the compiler side.
There will be another bi-weekly meeting 1/21/2021 afternoon Beijing time. Wei will update us on what he learns there.
J-Extension group work is currently focusing more on security.
Miscellaneous
In future meetings we will be moving presentations to the start.
Wei would like to test using Qemu’s User Mode for increased regression testing speeds.
Action Items¶
upstreaming: fix build issue and push in PRs.
Setup PTS for V8 (@ww)
Test Qemu’s User Mode (@ww)
Continue c-ext support work(@Derek Tu)
Date: 1/7/2021¶
Agenda¶
Announcements
Community updates
Upstreaming updates
Action item follow-ups
Discussion about the Wishlist 2021 for V8 for RISC-V project
Present recent develop progress status if any(RVV-Wasm support, Performance analyze vs ARM64 etc.)
Minutes¶
Upstreaming issues:
need to separate RV32 modifies from the current RV64 modifies(apply to Georg Neis’s comments)
Updates from Wei about RVI meetings:
PLCT will set up the Performance Tracking System(PTS) for the Code speed group. V8 will be the first one put to the target software.
Action items follow-ups:
issue370 need to be checked with OS guys to see how to flush icache for JIT.
issue 372/373/375/376/378 need to be clarified(low priority)
pr309 need to be closed. pr379 need to be reviewed
Wishilist for 2021 is discussed and priority confirmed:
upstream(1st)
node.js support(2nd)
wasm and JS speedup(3rd)
ISA extension support(4th)
Yahan introduced progressing for Wasm-RVV. He adds new register type declaration for the non-overlayed vector registers.
Qiuji reported some result for performance evaluation of V8-RISCV. The result is comparing to ARM64.slides
Action Items¶
upstreaming: apply to Georg Neis’s comments
clean up github issues and prs:
issue370(@qiuji)
pr309(@taoliqiang)
pr379(@luyahan)
issue 372/373/375/376/378(@luyahan & @qiuji)
issue258 (give a investigate report to it @qiuji & @taoliqiang)
Setup PTS for V8 (@ww)
Re-start c-ext support work?(@Derek Tu)
Date: 12/23/2020¶
Agenda¶
Announcements
Community updates
Upstreaming updates
Action item followups
Review open PRs and determine next actions
Minutes¶
We will start rotating hosts for the meeting between PLCT, RIOS, Peng, and Futurewei
PLCT lab will host the next one
Updates from Wei about RISC-V International meetings
Code speed group is approved
Performance tracking task group will define scripts to run benchmarks and post results to a website
Plan to build Java and JS speed task groups
Yahan shared a roadmap for adding the V extension support to V8 slides
Defined 2 phases: prepare and implement
Discussed timing and testing of this work
Probably a subset of the V extension will be sufficient to support the WebAssembly instructions, so be sure to focus on this first
Brice completed the release of the RPMs
We may want to trigger releases for specific tags in addition to the LATEST
Perhaps use a special prefix
Derek announced that RIOS will hold a student led summit on Jan 20 where he will demonstrate V8 on a PicoRio
He will pause work on the C extension until after this
Wei discussed setting goals for 2021
Speed up V8 on RV64GC
Support V extension, C extension, B extension
Node.js
Peng brought up real world usage, including browser, ML (tensorflow.js)
After upstreaming, we will need to update our workflow
Will likely need to keep branches for unratified extensions in our repo, not upstream
Action Items¶
Review open issues and close or update outdated ones (all)
Review open PRs and rebase or address open comments (Nekhlyudov, Yahan, Derek, Liqiang)
Provide some input to Wei about goals for 2021 (Peng, Reza, Brice)
Date: 12/09/2020¶
Agenda¶
Announcement
V8 re-base update and outstanding issues (Brice)
RISC-V community news (Wei)
Follow-up from the last meeting
Technical presentation: register allocator study (Qiuji)
Open discussions
Action items¶
Setup GitHub Actions to add release builds - @Brice
Give Qiuji code review permission - @Brice
Date: 11/11/2020¶
Agenda¶
V8 re-base update and outstanding issues (Brice)
RISC-V community news (Wei)
Follow-up from the last meeting
Technical presentation: J-extension group pointer-masking proposal and analysis on V8 (Peng)
Open discussions
Highlights¶
On the pointer-masking discussion, the intuitive feeling is that V8 (a managed runtime w/ already a lightweight isolation mechanism) may not be a good candidate for pointer-masking (i.e., because the software solution already provides pretty good isolation protection, and using a HW solution is a lot more rigid). We decide to be more explicit in voicing this opinion to the J-extension workgroup.
Action items¶
Add a release wiki page on how people can gain access to pre-built v8 binary
Give a presentation on the algorithm to extend V8 register allocator for C-extension instructions (qiu ji)
Date: 10/28/2020 6pm PT¶
Agenda¶
Announcement
V8 re-base update (Brice on new problems discovered and outstanding issues)
Follow-up from the last meeting
Technical presentation: how does V8’s register allocator work? (Derek & Liqiang)
Technical presentation: how to support C-extension instruction code gen (Reza)
Technical presentation: preliminary performance analysis (Wei)
Technical presentation: J-extension group pointer-masking proposal and analysis on V8 (Peng) [if time permits]
Open discussions
Action Items¶
Participate in the code-speed workgroup meetings (Wei, Brice, Peng)
Give a presentation to compare the J-extension proposal and V8’s compressed-pointer implementation (did not have time to cover this week, Peng)
Setup 3rd party package distribution of our cross-compiled V8/Node binary (carried over from the last meeting, Wei)
Write up the next steps for the register allocation study for Liqiang & Derek (Peng)
Share today’s slides to repo wiki (https://github.com/riscv/v8/wiki/Content-sharing) (liqiang, reza, yahan)
Present the lgorithm to extend V8 register allocator for C-extension instructions (liqiang, reza, derek)
Date: 10/14/2020 6pm PT¶
Agenda¶
Announcement (J-extension group)
V8 upstream update (Brice: rebase, cpid, using gcc tool-chain)
Follow-up from the last meeting
Additional C-extension support discussion (Peng et al)
Open discussions
Highlights¶
Wei updated us the recent reorg/changes in RISC-V international taskgroup organization, there may be opportunities for us to take some initiatives or participate in other workgroups
Discussed how to generate C-extension instructions in macro-assembler: may need to teach register allocator to generate instructions that satisfy constraints of C-extension instructions (i.e., smaller groups of registers and reusing 1st operand as destination register)
Action items¶
Update testing status for this week (Wei)
Attend code-size optimization workgroup (Peng, Wei)
Add a wiki page to summarize how our codebase satisfies the upstream criteria (Brice)
Give a presentation to compare J-extension proposal and V8’s compressed-pointer implementation (carried over from last week, Peng)
Setup 3rd party package distribution of our cross-compiled V8/Node binary (carried over from last week, Wei)
Give a presentation on how V8 register allocator works (Liqiang and Derek)
Define milestone for this month, especially define the performance analysis requirement (Peng)
Give a presentation on benchmark performance comparison between RISC-V and MIPS64 (Wei?)
Create issues for the next steps of C-extension implementation and assign (Peng)
Date: 09/30/2020 6pm PT¶
Agenda¶
Follow-up from the last meeting
Open discussion
Highlights¶
Many test failures are resolved compared to status of two-weeks ago
We discussed how to find a reasonable path to distribute V8/Node binary to end-users
Action items¶
Check w/ V8 team whether building w/ LLVM is a requirement for upstream (Peng)
Define exactly what needs to be done to solve the tools dependency for native build (required by both Debian and Fedora) and open an issue to track it (Brice)
Setup a 3rd party package distribution of our cross-compiled V8/Node binary (Wei)
Present a comparison of J-extension’s pointer-masking proposal and V8’s compressed pointer feature (Peng)
Date: 09/16/2020 6pm PT¶
Agenda¶
Announcement (V8 global forum talk, V8 upstream prep)
Follow-up from the last meeting
Update on CI and Node native build (Brice)
C-extension support discussion (Peng et al)
Open discussion
Highlights¶
Finally, CI is restored
Cross-building of NodeJS is streamlined, script in the repo, instruction on the wiki
Agreed on the partition of C-extension support among Chao, Derek, Liqiang, and Thomas
Action items¶
Prioritize failures exposed by release and stress-opt and identify critical ones (Peng, carried from last week)
Discuss w/ Fedora team members on the next steps to resolve dependence on other tools (cipd, etc) (Brice)
Investigate style guide and other requirements for V8 upstreaming (Brice)
Open an issue on generating optimized codes for atomic constructs (Peng)
For bi-weekly testing status update on the wiki, add the delta compared to the previous report (Wei)
For the comprehensive CI tests (after a PR is approved), if there is regression, report it on Slack and notify owners of the PRs involved (Wei)
Date: 09/02/2020 6pm PT¶
Agenda¶
Follow-up from the last meeting
09/04 milestone summary(latest testing status) (Peng et al)
Monthly milestones for 09/07 ~ 10/09
Discussions¶
Agreed on Sept-October milestones: focus on V8 upstream, get started on performance work
Action items¶
Enable external CI cloud instance (Wei expects to complete by next Monday, otherwise pass WIP PR to Brice)
Send instructions on how to run Node tests to Brice (Yahan)
NodeJS setup (carried over from last meeting, Yahan/Brice)
Automate generation of testing status and add release build results for QEMU/HiFive next time (Wei)
Prioritize failures exposed by release and stress-opt and identify critical ones (Peng)
Date: 08/19/2020 6pm PT¶
Agenda¶
New attendee introduction & announcement
Follow-up from last meeting
Technical content: how to debug v8 (Brice) - slides
09/04 milestone progress (latest testing status) (Peng et al)
Open discussion: optimizations (all)
Discussions¶
Heads up on September goals: optimization, C-extension, V8 upstream, v8-riscv release
Optimization: two tracks 1) development track will focus on low-hanging performance optimizations (e.g., constant pool, function prologue/epilogue optimization, improve codegen in TurboAssembler and code-generator), 2) performance track will do some performance analysis on benchmarks (e.g., compare against MIPS64) and tools development
C-extension discussion: 1) RISC-V is a custom modular ISA, how to detect which extensions are supported by the hardware (deal w/ the ISA fragmentation and complexity); 2) estimate the code-size benefit of C-extension
Action items¶
Enable CI on external cloud instance (need to send the result back to github via REST API) (Wei)
Setup NodeJS repo under V8 (Brice)
PLCT team sign Google CLA (Wei)
Capture all qemu & HiFive board failures into issues (Wei)
Include release build in QEMU and HiFive runs (Wei)
Date: 08/05/2020¶
Agenda:¶
New attendee introduction
Follow-up from last meeting
August milestones & project operation (Peng)
Cross-compiled and native build progress (Wei et al)
Work-group status update (all)
Discussions:¶
Github wiki and RIOS documentation site: 1) Wei mentioned that RTS and markdown can be intermixed in documents, need to figure out whether it is possible to have markdown document working w/ RIOS’s RTS documentations; 2) find tools to automatically convert from markdown to reST format
RISCV32 support: Wei’s team has experimented with building 32-bit V8 on Yocto/OpenEmbedded and encountered major toolchain issues (gdb and gcc?)
Action items:¶
Resolve the synchronization of the github wiki and RIOS documentation site (Ye)
Run simulated build failures in real hardware to see if they also fail in real hardware (Wei)
Set-up a mechanism to update testing status wiki (simulated, qemu, HiFive) with latest results before the bi-weekly developers’ meeting (Wei)
NodeJS demo video fro Global Forum talk (Yahan & Brice)
Date: 07/22/2020 (6pm PT/9am Beijing)¶
Agenda:¶
Brief introduction of participant (all)
Information sharing (Peng et al)
Github/Slack operation rules (Brice)
Testing status for simulated build (Peng)
Introduction of work-groups (Peng)
Suggestions & discussions (all)
Information sharing:¶
Our talk proposal was accepted to RISC-V Global Forum (September)
Got feedback towards v8 upstreaming: our simulated build testing results are quite promising, suggest to do additional stress-test on compiler and optimization, release-build tests, and run the performance suite
Action items:¶
Define milestones for early September (Peng)
CI efficiency issues not fully resolved, need help from anyone w/ experience of setting up CI (?)
Address permissions of adding labels or re-assign issues (Brice)
Wei’s team present cross-compiled build status next time (Wei)
Resolve how to setup wiki repo that is most convenient to us (Ye, Brice, Peng)
Find uploaded materials from all meetings here