RISE TSC Meeting Notes
Sep 19, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Terje Bergstrom, NVIDIA
- Kumar Sankaran, Ventana
- Alexey Bataev, SiFive
- Jian Xiong, Alibaba
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Brian Harrington, RedHat
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Gordan Markus, Cannonical
- Ming-yu Hung, Mediatek
- Ludovic Henry, Rivos
- Robin Randhawa, SiFiive
- Tim Ouyang, Andes
Agenda:
Language Runtimes Deep Dive led by Ludovic Henry
- Status Update: Java
- Java 17, 21, 22, 23, and tip are available
- Java 11 still doesn’t pass public CI yet
- More and more vectorized intrinsics: base64, crc32, chacha20, adler32
- Better code lowering: rounding, reverse bytes, rotate left/right, unsigned comparisons, shift left/right, vector-scalar/vector-immediate bitwise logic, count leading/trailing zeros, popcount, casting
- LR_00_007: Distribute Java 11 + 17 + 21 in Adoptium
- LR_00_001: Improve support for Vector extension in OpenJDK
- LR_00_027: Implement aes encode/decode intrinsics - WIP
- LR_00_030: Implement Base64 intrinsics - Done
- Status Update: Go
- Depends on availability of RVV 1.0 hardware on Scaleway
- LR_02_007: Accelerate crypto/sha256 and crypto/sha512 with hand-written assembly [RFP001] - Done
- LR_02_024: Use Bitmanip instruction in compiler where optimal [RFP001] - Done
- LR_02_005: Accelerate math/big with hand-written assembly [RFP001] - 95% Done
- LR_02_002: Support for Vector extension in Go Assembler [RFP001] - WIP
- LR_02_027: Support for Vector Crypto extensions in Go Assembler [RFP001] - WIP
- LR_02_0029: Add RISC-V boards to Go upstream CI
- Status Update: Python
- pandas, ninja, numpy, scipy, MarkupSafe, optree, psutil, msgpack, cibuildwheel, auditwheel, cmake, PyYAML, pillow, maturin, lintrunner, tlparse, nh3, lxml, cffi, cryptography
- Registry: https://gitlab.com/groups/riseproject/python/-/packages
- Based on Ubuntu 22.04
- Working with them to provide AlmaLinux 10 in RISC-V
- Distributing packages for RISC-V
- Dependency on AlmaLinux
- Status Update: Javascript
- No changes since last update
- Status Update: Rust
- Bring Linux-RISC-V to tier1 platform
- Newly supported since last update
- LR_07_001: Gap Analysis - WIP
- Status Update: WebAssembly
- WASM SIMD: VLS (128bits vectors)
- WASM Flexible Vector: VLA, largely inspired by RVV/SVE
- Newly supported since last update
- LR_08_001: Support for WASM SIMD
- Work Prioritization
- Java: https://wiki.riseproject.dev/display/HOME/LR_00%3A+Java
- Python: https://wiki.riseproject.dev/display/HOME/LR_01%3A+Python
- Go: https://wiki.riseproject.dev/display/HOME/LR_02%3A+Go
- Javascript: https://wiki.riseproject.dev/display/HOME/LR_06%3A+Javascript
- Rust: https://wiki.riseproject.dev/display/HOME/LR_07%3A+Rust
- WASM: https://wiki.riseproject.dev/display/HOME/LR_08%3A+WebAssembly
- Wiki is up-to-date
- Please comment on mailing list for prioritization
- Anything not listed you’d like to see?
- Anything not as high on the priority list as you expected?
- Scaleway Board Farm
- Adoptium/Java: 14
- Go: 1 (waiting on RVV 1.0 hardware)
- RockyLinux: 5
- AlmaLinux: 1 (working with RVI for their own boards)
- Rust: 2
- WASM: 1
- 24 machines allocated:
- Eagerly waiting for RVV 1.0 hardware
- RFP011 - Python packaging
- Discussed in previous TSC; next steps?
Sep 5, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Terje Bergstrom, NVIDIA
- Anup Patel, Ventana
- Alexey Bataev, SiFive
- Jian Xiong, Alibaba
- Mark Zhuang, Spacemt
- Paul Walmsley, SiFive
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Brian Harrington, RedHat
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Gotdan Markus, Cannonical
- Nathan Egge, Google
- Ming-yu Hung, Mediatek
- Zhu Yuan, Bytedance
- Tim Ouyang, Andes
Agenda:
Overall status
2024 projects - not yet sent for review
2024 projects - upstream process ongoing
2024 projects - upstream completed
Projects not sent yet for review:
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- Community project (Starfive)
- SE_02_004 - QEMU RVV performance enhancements (Vendor patches)
- RP005 RISE wiki page, weekly status: github link
- Latest version from Max Chou: RFCv5
- SE_01_003 - QEMU WorldGuard support
- Latest version: v1
- SE_01_004 - QEMU IOPMP support
- Latest version: v8
- SE_01_015 - QEMU RISC-V IOMMU support
- Latest version: v7
- SE_01_017 - QEMU ACPI SPCR support for RISC-V (no change)
- Latest version: v2
- Community project (Starfive)
- SE_01_021 - QEMU RVA23 profile support (no change)
- List of missing extensions: sig-qemu message
- Some of them already landed for review
- SE_01_022 - RISC-V Server SoC Reference Board (no change)
- New project
- Latest version: v2
- SE_01_005 - QEMU PCIe passthru on x86 hosts (no change)
- Latest version: v1
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- Available in QEMU 9.0
- SE_01_020 - QEMU SMBIOS support for RISC-V
- Available in QEMU 9.0
Aug 22, 2024
Attendance
- Alexey Bataev, SiFive
- Evan Harrison, The Linux Foundation
- Nathan Egge, Google
- Anup Patel, Ventana
- Brian Harrington (Redbeard), Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Erich Hanke, AMD
- Gordon Markus,
- Jian Xiong, Alibaba
- Kumar Sankaran, Ventana
- Ludovic Henry, Rivos
- Mark Zhuang, SpaceMIT
- Ming-Yu, MTK
- Paul Walmsley, SiFive
- Simon Harvey, Img Tech
- Sunil V L, Ventana
- Tim Ouyang, Andes
- Tomas Evensen, AMD
- Zhu Yuan, Bytedance
- Victor Costan, Google
Agenda
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Kernel and Virtualization Deep Dive
Latest Linux release updates
- Linux-6.11-rc4 available this week on kernel.org and final Linux-6.11 will be available in September 2024
- Noteworthy stuff already merged for Linux-6.11:
- Linux RISC-V
- Memory Hot(Un)plug
- ACPI SMBIOS/DMI, SPCR, PPTT, and NUMA support
- Performance improvements and cleanups for text patching
- Support Zve32[xf] and Zve64[xfd] Vector sub-extensions
- Use Zawrs for spinlocks when available
- HWPROBE support for time CSR frequency
- HWPROBE support for highest user-space virtual address
- HWPROBE support for Zimop, Zcmop, Zca, Zcf, Zcd, Zcb, and Zawrs extensions
- KVM RISC-V
- AIA IMSIC HW guest file support
- Perf KVM stat support
- Virtualize Zawrs for guest
- ONE_REG support for Zimop, Zcmop, Zca, Zcf, Zcd, Zcb, and Zawrs extensions
RVA23 profile: Discovery updates
- HWPROBE additions in Linux-6.11
- Zimop, Zcmop, Zcb, Zawrs
- Highest virtual address for user-space
- KVM ONE_REG additions in Linux-6.11
- Zimop, Zcmop, Zcb, Zawrs
- Kernel HWPROBE (22-08-2024, wiki)
- NA - 33 (39.76%), TBD - 7 (8.43%), COMPLETED - 43 (51.81%), TOTAL - 83
- KVM ONE_REG (22-08-2024, wiki)
- NA - 10 (12.05%), TBD - 20 (24.10%), COMPLETED - 53 (63.85%), TOTAL - 83
2023-2H: Project updates
- 2023-2H: Projects moved to 2024-2H due to SBI v3.0 dependency
- LK_01_005 - Native/hosted debug support
- LK_02_011 - KVM Native/hosted debug virtualization
- 2023-2H: Recently upstreamed projects
- LK_00_005 - Memory Hot(Un)plug
- LK_02_003 - KVM AIA IMSIC guest file support
- 2023-2H: Development status (22-08-2024, wiki)
- COMPLETED - 25 (100%), TOTAL - 25
- 2023-2H: Upstreaming status (22-08-2024, wiki)
- TBD - 1 (4%), ONGOING - 3 (12%), COMPLETED - 21 (84%), TOTAL - 25
2024-1H: Project updates
- 2024-1H: Recently upstreamed projects
LK_01_015 - PMU snapshot support
- LK_01_019 - Zawrs support
- LK_01_029 - ACPI NUMA support
- LK_01_030 - ACPI PPTT support
- LK_01_035 - ACPI SPCR support
- LK_01_036 - ACPI SMBIOS support
- LK_01_040 - CRC API optimization using Zbc extension
- LK_02_010 - KVM PMU snapshot virtualization
- LK_02_015 - KVM Zawrs virtualization
- LK_02_022 - KVM Perf sampling support for guest
- LK_03_009 - QEMU-KVM debug console support
- LK_03_028 - KVMTOOL Zacas support
- LK_03_029 - QEMU-KVM Zacas support
- 2024-1H: Development status (22-08-2024, wiki)
- TBD - 4 (8.7%), ONGOING - 1 (2.17%), COMPLETED - 41 (89.13%), TOTAL - 46
- TBD - 4 (8.7%), ONGOING - 1 (2.17%), COMPLETED - 41 (89.13%), TOTAL - 46
- 2024-1H: Upstreaming status (22-08-2024, wiki
- TBD - 6 (13.04%), ONGOING - 4 (8.7%), COMPLETED - 36 (78.26%), TOTAL - 46
2024-2H: Priorities
- Kernel
- ISA Extensions
- Supervisor Counter delegation (Ssccfg) based perf driver
- Control Transfer Record (Ssctr) support in perf driver
- Pointer Masking (Ssnpm) support
- Quality of Service (CBQRI and Ssqosid) support
- ACPI improvements
- ACPI RISC-V IOMMU Table (RIMT) support
- ACPI support for IOMMU driver
- ACPI RAS support (incl. APEI and SBI SSE notifications)
- SBI v3.0
- Firmware feature (FWFT) support
- Supervisor software events (SSE) support
- Debug Triggers (DBTR) (aka native/hosted debug) support
- Message Proxy (MPXY) support
- Perf event discovery using SBI PMU extension
- KVM
- ISA Extensions
- Virtualize Control Transfer Record (Ssctr) for Guest
- Virtualize Pointer Masking (Ssnpm) for Guest
- Virtualize Quality of Service (CBQRI and Ssqosid) for Guest
- Nested virtualization (trap-n-emulate H-extension)
- Virtualize SBI v3.0
- Firmware feature (FWFT) support for Guest
- Supervisor software events (SSE) support for Guest
- Debug Triggers (DBTR) (aka native/hosted debug) support for Guest
- Message Proxy (MPXY) support for Guest
- Virtualize perf event discovery using SBI PMU extension for Guest
Aug 1, 2024
Attendees:
Michelle Martineau, The Linux Foundation
Terje Bergstrom, NVIDIA
Alexey Bataev, SiFive
Keeran Rothenfusser, Rivos
Barna Ibrahim, Rivos
Kumar Sankaran, Ventana
Tim Ouyang, Andes
Zhu Yuan, Bytedance
Paul Walmsley, SiFive
Brian Herrington, Red Hat
Victor Costan, Google
Agenda:
- System Libraries Deep Dive led by Nathan Egge
- Developer Infrastructure Deep Dive led by Paul Walmsley
- WG Opens
- RFPs
- Future topics: WG Opens/challenges
- AIs from last week
System Libraries Deep Dive- Keeran RothenFusser
System Libraries WG Charter
- Accelerate adoption of RISC-V in open source system libraries by focusing on high-leverage initiatives that unblock upstream projects and bring RISC-V to the same level of functionality and performance as the rest of the OSS ecosystem.
- In scope:
- Open source tooling
- Best practice guides
- Case studies
- Writing software optimizations
- Performance benchmarking
- Dependency analysis
- System Libraries contain potentially 1000’s of OSS projects
- RISE cannot write all the code to enable entire ecosystem
System Libraries Priorities
- SL_00_004 BoringSSL (In progress)
- Google developer working on porting OpenSSL routines to BoringSSL
- SL_01_001 libflac (In Progress)
- Pull request got a nudge, now that more hardware available
- SL_01_002 dav1d (In progress)
- GSoC student currently adding more RVV 1.0 optimizations
- SL_01_003 x264 (In progress)
- Bytedance working on adding RVV 1.0 optimized routines
- SL_03_001 XNNPACK (In progress)
- Imagination working on adding RVV 1.0 optimized routines
- Trial run the upstream developer story
- Examples include
- Regression: GCC emitting illegal unaligned loads
- Check that vendor kernels support needed tooling
- Backported perf for K230
- SpacemiT missing PMU counters
- Assume the role of early adopter and find issues before they hit community
- Continue to test hardware when it comes out for suitability
- Run experiments verify software optimizations working as intended
- Mailing list seen discussion on performance of in-register data movements
- Produce artifacts usable for upstream development
- https://github.com/negge/bespokeOS/tree/master
- Rebuild everything from source for RISC-V (issues encountered)
- Bootable system images with up-to-date toolchains
- Performance testing and CI tooling
RFP Update
- RP002 - Optimize H.264 Decoding in FFmpeg
- Using K230 and Gentoo developer image for development / testing
- Wrote prediction and iDCT functions using RVV (8-, 9-, 10-, 12- and 14-bit)
- Patches up for review https://code.videolan.org/jdek/ffmpeg/-/merge_requests/2
- Updated ffmpeg checkasm to use clock_gettime() over RDTIME instruction
- Meeting with vendor on Friday and hope to get a full report of implemented functions
- RP005 - Add QEMU TCG support for V and Zvk
- Weekly reporting on progress
- Work is progressing, 60x improvement based on patch set v5 by Max Chou (SiFive)
Benchmarking improvements to QEMU
- RP005 Add QEMU TCG support for V and Zvk started May 1st 2024
- Weekly progress reports https://github.com/embecosm/rise-rvv-tcg-qemu-reports
- Can we (this body) verify these changes?
- Booting AOSP 4 weeks ago with Max Chou patchset v4 [1] showed no improvement
[1] https://lore.kernel.org/all/20240613175122.1299212-1-max.chou@sifive.com/
Guest Speaker Series
Invite experts to present RISC-V SW ecosystem challenges and successes. Had a good turnout, and also lots of guest speakers in May and June. Since last deep-dive
- March 19th: Nick Brown - Edinburgh Parallel Computing Centre
- RISC-V and HPC, What do we need from the software ecosystem?
- May 14th: Adenilson Cavalcanti - Intel / Chromium
- May 28th: Chris Taylor - Tactical Computing Labs
- An Introduction HPX an Asynchronous Many-Task Runtime System
- June 25th: Yuan Zhu - Bytedance
- Optimizing x264 encoder for RISC-V
- July 23rd: Filip Wasil - Samsung
- Updates on RVV efforts
- Contributions to upstream projects
- Questions around benchmarking and performance analysis as more hardware becomes available
RVI EU Summit
- Nathan Egge received the RVI ‘Software Leadership Award’
- Apart from the RISE presentation, got enough mentions in other presentations
- Some of the work from dav1d as part of SL_01_002 presented by Nathan
- Good opportunity for system libraries members to meet up with each other, and to reach out beyond RISE
- Got hands on hardware - e.g. ROMA-II from DeepComputing, BananaPi3 for individual members to hack around on
SL_01_002 - Adding RVV assembly to dav1d
- Diversity of hardware with RVV 1.0!
- K230 has VLEN=128, SpacmiT K1 has VLEN=256
- What does this mean for writing vector optimizations?
- Diversity of hardware with RVV 1.0!
- K230 has VLEN=128, SpacmiT K1 has VLEN=256
- What does this mean for writing vector optimizations?
- Algorithms that use *less* than a full VLEN are essentially tail only
- The blend_w4 routine operates on blocks 4-wide and N-tall
- Optimal throughput needs appropriately set LMUL
function blend_8bpc_rvv, ext=v
li t0, 4
beq a3, t0, 4f
li t0, 8
beq a3, t0, 8f
li t0, 16
beq a3, t0, 16f
32: vsetvli zero, a3, e8, m2, ta, ma
j L(blend_epilog)
16: vsetvli zero, a3, e8, m1, ta, ma
j L(blend_epilog)
8: vsetvli zero, a3, e8, mf2, ta, ma
j L(blend_epilog)
4: vsetvli zero, a3, e8, mf4, ta, ma
L(blend_epilog):
- Algorithms that use *less* than a full VLEN are essentially tail only
- The blend_w4 routine operates on blocks 4-wide and N-tall
- Optimal throughput needs appropriately set LMUL
function blend_8bpc_rvv, ext=v
li t0, 4
beq a3, t0, 4f
li t0, 8
beq a3, t0, 8f
li t0, 16
beq a3, t0, 16f
32: vsetvli zero, a3, e8, m2, ta, ma
j L(blend_epilog)
16: vsetvli zero, a3, e8, m1, ta, ma
j L(blend_epilog)
8: vsetvli zero, a3, e8, mf2, ta, ma
j L(blend_epilog)
4: vsetvli zero, a3, e8, mf4, ta, ma
L(blend_epilog):
function blend_vl256_8bpc_rvv, ext=v
li t0, 4
beq a3, t0, 4f
li t0, 8
beq a3, t0, 8f
li t0, 16
beq a3, t0, 16f
32: vsetvli zero, a3, e8, m1, ta, ma
j L(blend_epilog)
16: vsetvli zero, a3, e8, mf2, ta, ma
j L(blend_epilog)
8: vsetvli zero, a3, e8, mf4, ta, ma
j L(blend_epilog)
4: vsetvli zero, a3, e8, mf8, ta, ma
j L(blend_epilog)
- With vector length specific (VLS) implementations specialized on VLEN
Kendryte K230
blend_w4_8bpc_c: 204.5 ( 1.00x)
blend_w4_8bpc_rvv: 56.4 ( 3.62x)
blend_w8_8bpc_c: 608.6 ( 1.00x)
blend_w8_8bpc_rvv: 87.3 ( 6.97x)
blend_w16_8bpc_c: 2363.8 ( 1.00x)
blend_w16_8bpc_rvv: 225.1 (10.50x)
blend_w32_8bpc_c: 5990.3 ( 1.00x)
blend_w32_8bpc_rvv: 518.8 (11.55x)
SpacemiT K1
blend_w4_8bpc_c: 201.6 ( 1.00x)
blend_w4_8bpc_rvv: 58.0 ( 3.48x)
blend_w8_8bpc_c: 595.1 ( 1.00x)
blend_w8_8bpc_rvv: 82.1 ( 7.25x)
blend_w16_8bpc_c: 2308.8 ( 1.00x)
blend_w16_8bpc_rvv: 189.0 (12.22x)
blend_w32_8bpc_c: 5853.1 ( 1.00x)
blend_w32_8bpc_rvv: 339.5 (17.24x)
DevInfra WG Collaboration
- Goal: Provide weekly drops of SD images that “just work” on currently available dev board hardware (RVV 1.0 only): K230, BPI-F3, ROMA II
- Potential to build with exact CFLAGS matching hardware, e.g.,
-march=rv64gcv --riscv-v-vector-bits-min=256 - This would produce optimized builds for all packages
- Potential to build with exact CFLAGS matching hardware, e.g.,
- Use vendor provided image (u-boot, opensbi, kernel)
- Replace rootfs with gentoo image
- Future work, could rebuild kernel using more optimizations
- Potential to build with other options
- Gentoo supports glibc and musl, OpenRC and systemd
- Can provide a head (Desktop Environment) for ROMA II laptop images
Developer Infrastructure Deep Dive- Paul Walmsley
Developer Infrastructure WG Introduction
- Charter
- The Developer Infrastructure WG focuses on software and services to support open-source RISC-V developers - both RISE members and the broader open-source community.
- Co-chairs
- Barna Ibrahim (Rivos)
- Paul Walmsley (SiFive)
- TSC Contact
- Nathan Egge (Google)
Developer Infrastructure WG Vision
- Three mutually-supporting projects
- RISE Build Farm (Active)
- RISE Board Farm (Active)
- RISE Developer Tooling (In planning)
- Goal
- Provide robust development infrastructure and tools to RISC-V developers
RISE Build Farm: Introduction
- Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Björn Töpel (Rivos) coordinating
- Brian “Redbeard” Harrington (Red Hat) doing much of the work
- Status
9 active projects 2 since last quarter
- Thousands of builds, and millions of tests per month
- ~100 toolchain bugs found via our fuzzer instances
Build Farm: 2024Q2 Review
- Seven existing projects still running
- GCC pre-commit CI expanded: Patrick O’Neill & Edwin Lu (Rivos)
- Two new projects added
- Glibc pre-merge CI: Edwin Lu & Patrick O’Neill (Rivos)
- GCC microcontroller CI: Patrick O’Neill & Edwin Lu (Rivos)
- New Jenkins infrastructure available for projects to use
RISE Board Farm: Introduction
- Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
RISE Board Farm: Status
- No significant progress in 2024Q2
- Build Farm efficiency work and relocation planning taking up all of the available management bandwidth
RISE Developer Tools: Introduction
- Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware
- Will start with Nathan’s Gentoo build
- No one yet coordinating
- Some discussion taking place between Nathan and Redbeard on paths forward
Credits
- Barna Ibrahim (Rivos): Co-chair
- Björn Töpel (Rivos): Kernel CI Build Farm Project Admin, Build Farm Lead
- Brian ‘redbeard’ Harrington (Redhat): Build Farm Administrator
- Curtis Galloway (Google): Board Farm Lead
- Edwin Lu (Rivos): Toolchain Build Farm Project Admin
- Ludovic Henry (Rivos): Language Runtimes Build Farm Project Admin
- Patrick O’Neill (Rivos): Toolchain Build Farm Project Admin
- Paul Walmsley (SiFive): Co-chair
Jun 27, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Alexey Bataev, SiFive
- Robin Randhawa, SiFive
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Ludovic Henry, Rivos
- Jian Xiong, Alibaba
- Barna Ibrahim, Rivos
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Nathan Egge, Google
- Ming-yu Hung, Mediatek
- Jian Zhang, BOSC
Agenda:
- Updates
- Website/blog
- TSC Accomplishments 1H2024
- 2 FTE Reporting
- Security Software Working Group TL Election
- Simulator Emulator Deep Dive led by Daniel Barboza
- WG Opens
- Future topics: WG Opens/challenges
Simulator Emulator Deep Dive led by Daniel Barboza
- Overall status
- 2024 projects - not yet sent for review
- 2024 projects - upstream process ongoing
- 2024 projects - upstream completed
- Projects not sent yet for review:
- Project RP005 Add QEMU TCG support for V and Zvk
- Weekly status: github link
- Community project (Starfive)
- SE_02_004 - QEMU RVV performance enhancements (Vendor patches)
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- Projects under review:
- Latest version: v1
- Latest version: v7
- Latest version: v1
- Project has dependencies on UBOOT and GRUB
- Latest version: v4
- SE_01_003 - QEMU WorldGuard support
- SE_01_004 - QEMU IOPMP support
- SE_01_005 - QEMU PCIe passthru on x86 hosts
- SE_01_015 - QEMU RISC-V IOMMU support
- Projects under review
- Latest version: v2
- Community project (Starfive)
- List of missing extensions: sig-qemu message
- Some of them already landed for review
- Latest version: v2
- Latest version (from Max Chou): RFCv4
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- SE_01_021 - QEMU RVA23 profile support
- SE_01_022 - RISC-V Server SoC Reference Board
- SE_02_004 - QEMU RVV performance enhancements
- Projects already merged
- Available in QEMU 9.0
- Available in QEMU 9.0
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- SE_01_020 - QEMU SMBIOS support for RISC-V
Security Software Working Group Election
The Security Software Technical Lead role will open for election July 1st. The nomination period is open for one week followed by a one week voting period. You may nominate yourself or another member of the RISE TSC (Limit 1 candidate per RISE Sponsor Organization). If you are nominating someone else please confirm their interest prior to nominating them.
Commitment:
1hr/ Month- Lead Security Software Working Group Meetings
1hr/Month- Governing Board or TSC Deep Dive Meeting
8hrs/Month- Working Group Leadership
Election Cycle:
- July 1 Nominations start
- July 15 Nominations end
- July 16 Voting starts
- July 23 Voting ends
- July 24 Winner announced
Term: July 24, 2024- July 24, 2025
Jun 20, 2024
Attendees:
- Michelle Martineau, The Linux Foundation
- Andrei Warkentin, Intel
- Daniel Barboza, Ventana
- Barna Ibrahim, Rivos
- Jeff Law, Ventana
- Andrew Del Los Reyes, Rivos
- Kumar Sankaran, Ventana
- Brian Harrington, RedHat
- Nathan Egge, Google
- Tim Ouyang, Andes
- Victor Constan, Google
- Zhu Yuan, Bytedance
Agenda:
- Distro and Integration Deep Dive led by Redbeard
- Updates
- Website/blog
- RVI Summit Lounge
- TSC Accomplishments 1H2024
- 2 FTE Reporting
- Security Software Working Group TL Election
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Distro and Integration Deep Dive
- The distro integration group hosts open discussions about the software needs common to all major Linux distros, Android, and bespoke distros used on embedded devices.
- General discussions and questions about viability of builds with low RAM that aren’t capable of updating packages etc. Not something RISE should dictate.
- In General RISE is contributing to the Open Source Projects and there will not be any requirements/mandates by RISE. any requirements are left it up to the companies and their product offerings.
- “Why is it you’re all insistent on having ACPI support?”
- “What is the minimum amount of RAM a board should have?”
- This group makes its meetings open to the public (the meeting link is on the groups wiki page).
- Ensures open collaboration modeled after other libre software projects (Debian, Osmocom, etc).
- The community sees the “total cost” of design decisions, not just the hardware ones.
- Recently this has driven two major areas of discussion:
- Ensure a consistent boot flow (installation portability across distros)
- Responsibility for code updates below the OS (e.g. Who is on the hook for security bugs in OpenSBI?)
Website and Blog Update
- HAPPY ANNIVERSARY RISE PROJECT!
- Website updated, now with a blog, events page, separated topic pages, dedicated join page
- Bug reports and comments welcome.
Security Software Technical Lead Election
The Security Software Technical Lead role will open for election July 1st. The nomination period is open for one week followed by a one week voting period. You may nominate yourself or another member of the RISE TSC (Limit 1 candidate per RISE Sponsor Organization). If you are nominating someone else please confirm their interest prior to nominating them.
Commitment:
- 1hr/ Month- Lead Security Software Working Group Meetings
- 1hr/Month- Governing Board or TSC Deep Dive Meeting
- 8hrs/Month- Working Group Leadership
Election Cycle:
- July 1 Nominations start
- July 15 Nominations end
- July 16 Voting starts
- July 23 Voting ends
- July 24 Winner announced
Term: July 24, 2024- July 24, 2025
May 30, 2024
Attendees:
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Robin Randhawa, SiFive
- Terje Bergstrom, NVIDIA
- Anup Patel, Ventana
- Robin Randhawa, SiFive
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Jeff Law, Ventana
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Brian Harrington, RedHat
- Paul Walmsley, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
- Ming-yu Hung, Mediatek
- Jian Zhang, BOSC
Agenda:
- Elected: Debug and Profiling Technical Lead
- Firmware Deep Dive led by Sunil V L
- Proposal for Security Working Group Formation
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Elected: Debug and Profiling Technical Lead
Welcome Xaio Wang! Senior System Software Engineer, Intel and Our new Technical Lead for the Debug and Profiling Working Group. Xiao has worked on different domains of system software, including high performance networking, device virtualization, cross-ISA SW migration, binary translation and compatibility, ISA based SW optimization. Xiao has interest in a wide range of technical topics. Recently Xiao is working on enabling RISCV ISA optimization in the Linux kernel.
Firmware Deep Dive led by Sunil V L
- 12 projects in 2024 1H
- Upstreaming complete projects
- EDK2_00_16 - Svpbmt support (2023 2H project)
- SBI_00_04 - Domain Context Switch Support
- SBI_00_03 - Native/hosted debug support
- COREBOOT_00_01 - coreboot for SiFive Unmatched
- Development complete, Upstreaming in progress
- EDK2_00_14 - DynamicTablesPkg support
- EDK2_00_18 - RISC-V QEMU Server Reference Platform
- EDK2_00_03 - FdtBusDxe support (Need to host under RISE gitlab)
- Upstreaming not started due to spec dependencies
- CI support for RISC-V targets in place
- Roadmap items identified (IOPMP, AIA, SmMTT, FF-A Like ABI etc)
- IOPMP support in progress by Andes
- Moving to RISE hosted gitlab
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- SBI_00_02 - Firmware-first RAS handling Support
- EDK2_00_10 - UefiPayloadPkg For RISC-V
- Development in progress
- 2024 2H projects under discussion
- EDK2_00_04 - Build Size Reduction
- EDK2_00_05 - Back Trace support
- EDK2_00_13 - libgcc and libatomic libs
- SCP like reference FW implementation (based on RPMI/MPXY spec)
- Challenges
- Spec dependencies.
- Less number of new project proposals.
09 May 2024
- Evan Harrison, The Linux Foundation
- Alexey Bataev, SiFive
- Barna Ibrahim, Rivos
- Brian Harrington (Redbeard), Redhat
- Drew Fustini, Tenstorrent
- Jeff Law, Ventana
- Kumar Sankaran, Ventana
- Mason Li, MedieTek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Tim Ouyang, Andes
- Victor Constan, Google
Agenda
- WG Opens/challenges
- Future topics
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
- Meeting recording access instructions
- RFP Guide for Technical Leads
- Please read if you are a TL for a project.
Working Groups Opens / Challenges
- Tensorflow for RISC-V (email sent to libraries-runtimes WG)
- If yes, what is the latest status?
- Questions regarding the availability of Tensorflow on RISC-V
- Tried to compile Tensorflow within Ventana and things fail due to missing support for Bazel
- Is anyone from RISE or any upstream company working on Tensorflow?
- x264 for RISC-V discussion
- Bytedance team started work on x264 porting and optimization with RVV1.0
- Repo located here https://code.videolan.org/yintong.ustc/x-264-bd-ventana
- Is anyone from RISE or upstream working on x264? Bytedance would like to collaborate with other work if any
- Working Groups Opens / Challenges
02 May 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Robin Randhawa, SiFive
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Myungjoo Ham, Samsung
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Ludovic Henry, Rivos
- Ming-yu Hung, Mediatek
- Jian Zhang, BOSC
Agenda
- Language Runtimes Deep Dive led by Ludovic Henry
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Language Runtimes Deep Dive led by Ludovic Henry
- Status Update
- Java
- LR_00_007: Distribute Java 11 + 17 + 21 in Adoptium
- Java 21, 22, and tip are available since April
- Java 17 is close, Java 11 doesn’t pass public CI yet
- LR_00_001: Improve support for Vector extension in OpenJDK
- Many improvements to code lowering; casting, rounding, multiply reduction, compare, and other vector intrinsics
Python
- LR_01_013: Enable pip on riscv64
- Necessary to run pip install on riscv64; released with 24.0
- LR_01_015: Enable cibuildwheel on riscv64
LR_01_017: Package and distribute numpy wheel
LR_01_020: Package and distribute ninja wheel
LR_01_008: Package and distribute Scikit-Learn wheel
LR_01_022: Package and distribute markupsafe wheel
LR_01_024: Package and distribute psutil wheel
LR_01_027: Package and distribute Pillow wheel- Effort to package and distribute Python packages on RISC-V
- Can’t be done by upstream project (discussed in previous TSC meetings)
- Approach approved with LFEU Legal on licensing
Go - LR_02_0015: Support for Bitmanip extensions in assembler
- LR_02_024: Use Bitmanip instruction in compiler where optimal
- LR_02_002: Support for Vector extension in Go Assembler
- LR_02_0029: Add RISC-V boards to Go upstream CI
- LR_01_013: Enable pip on riscv64
- Work
- Wiki is up-to-date
- Java: https://lf-rise.atlassian.net/wiki/display/HOME/LR_00%3A+Java
- Python: https://lf-rise.atlassian.net/wiki/display/HOME/LR_01%3A+Python
- Go: https://lf-rise.atlassian.net/wiki/display/HOME/LR_02%3A+Go
- Javascript: https://lf-rise.atlassian.net/wiki/display/HOME/LR_06%3A+Javascript
- Anything not listed you’d like to see?
- Anything not as high on the priority list as you expected?
- Wiki is up-to-date
- Python packaging
- https://gitlab.com/groups/riseproject/python/-/packages
- Available: ninja, numpy, scipy, pillow, psutil, PyYAML, optree, MarkupSafe, cmake, ninja
- Next: scikit-learn
- https://lf-rise.atlassian.net/wiki/display/HOME/LR_01%3A+Python
- Python has a JIT now
- It’s doesn’t support RISC-V
- https://gitlab.com/groups/riseproject/python/-/packages
Not a blocker as simply disabled for now
Java releases
- Nothing has changed since last update
- V8 fully supports Linux-RISC-V and Android-RISC-V
- SpiderMonkey support Linux-RISC-V
- Node.JS is still an unknown; anyone wants to check it out and document?
OpenMP
- Interest from Tenstorrent, MicroChip
- More appropriate for Compilers and Toolchains WG?
- Whoever has the time and resources
HPX
- https://github.com/STEllAR-GROUP/hpx/
- Interest from Tenstorrent
- They have CI for ARM, we should check to add RISC-V
- Need to figure out if it builds and runs OOTB on RISC-V
- More appropriate for System Libraries WG?
- Whoever has the time and resources
25 Apr 2024
- Evan Harrison, The Linux Foundation
- Drew Fustini, Tenstorrent
- Andrew de los reyes (Adlr), RIVOS
- Jeff Law,
- Victor Constant, Google
- Tomas Evensen, AMD
- Alexey Bataev, SiFive
- Terje Bergstrom, NVIDIA
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Nathan Egge, Google
- Agenda
- Developer Infrastructure Deep Dive led by Paul Walmsely
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Developer Infrastructure WG Introduction & Vision
- Build Farm
- 2024Q1 Review
- Next Steps
- Board Farm
- Developer Tools
- Challenges
Developer Infrastructure WG Introduction
Charter
- The Developer Infrastructure WG focuses on software and services to support open-source RISC-V developers - both RISE members and the broader open-source community.
- Co-chairs
- Barna Ibrahim (Rivos)
- Paul Walmsley (SiFive)
- TSC Contact
- Nathan Egge (Google)
Developer Infrastructure WG Vision
- Three mutually-supporting projects
- RISE Build Farm (Active)
- RISE Board Farm (Active)
- RISE Developer Tooling (In planning)
- Goal
- Provide robust development infrastructure and tools to RISC-V developers
RISE Build Farm: Introduction
Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Björn Töpel (Rivos) coordinating
Status
- 7 active projects
- Thousands of builds, and millions of tests per month.
- Build Farm: 2024Q1 Review
- Broadened the administration base
- Brian “Redbeard” Harrington (Red Hat) now helping out with general admin tasks
- Björn Töpel now leading the Build Farm
- Four existing projects still running
- Two new projects added
- GCC fuzzer:
- LLVM fuzzer:
- Credits currently set to expire on September 12, 2024
- Expiration date just discovered mid-April
- Will discuss with Amber and Lars to see if this can be extended
Build Farm: Looking Forward
- CI/CD Based Controller + Job system
- Projects can include a JenkinsFile in their repo which defines the job requirements. Makes the jobs portable across Jenkins instances as well
- Webhook + status integration across GitHub, GitLab, and publishing via host names in the subdomain “di.riseproject.dev”.
- Will make this easy to add more Build Farm projects with greater flexibility
- Members will coordinate with other working groups to solicit other projects and support their onboarding
- Compared to Kubernetes it is much simpler to understand and deploy.
- Biggest challenges: sheep shearing (setting up credential vaults for API access into secret material, authentication proxies, configuring back end roles & policies to allow for the correct, limited, API calls from Jenkins into GCP using the proper service accounts, ensuring build systems “fail” and recover property upon crashing, that services all recover correctly, etc)
- We Need More Build Farm Projects
- Build farm project growth rate is leveling off
- Let’s get more build farm projects going for future payoffs in better RISC-V ecosystem support for all of us
- Please contact us if you have project ideas - we can help
RISE Board Farm: Introduction
Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
RISE Board Farm: Status
- Hardware prototype running, based on Kendryte K230
- Software infrastructure in progress
- Target is to remotely load as much of the software on the board as possible
- Hosting at OSUOSL
- Goal: contract agreed in May (new one needed since RISE hosted by LF EU)
RISE Developer Tools: Introduction
Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware
- Will start with Nathan’s Gentoo build
- No one yet coordinating
18 Apr 2024
- Michelle Martineau, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
- Paul Walmsley, SiFive
- Olof Johansson,
- Jefro, Redhat
- Mason Li, MediaTek
Agenda
- Simulator Emulator Deep Dive led by Daniel Barboza
- WG Chairs: Propose setting a minimum of one live meeting per month for each WG
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Simulator Emulator Deep Dive led by Daniel Barboza
2024 projects - not yet started
- SE_01_003 - QEMU WorldGuard support
- SE_01_021 - QEMU RVA23 profile support
- SE_02_004 - QEMU RVV performance enhancements
2024 projects - in progress, not sent for review
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- Community project (Starfive)
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- Community project (Starfive)
- 2024 projects - upstream process ongoing
- SE_01_005 - QEMU PCIe passthru on x86 hosts
- Latest version: v1
- Project has dependencies on UBOOT and GRUB
- SE_01_004 - QEMU IOPMP support (no change)
- Latest version: v5
- SE_01_015 - QEMU RISC-V IOMMU support
- Latest version: v2
- Goal: merge it for QEMU 9.1 (July 2024 code freeze)
- SE_01_022 - RISC-V Server SoC Reference Board
- New project
- Latest version: v2
2024 projects - upstream completed
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- SE_01_020 - QEMU SMBIOS support for RISC-V
WG Chairs: Propose setting a minimum of one live meeting per month for each WG
- Propose establishing a one-live-meeting-per-month minimum for all WGs (pjw)
- Even if no topics, would be good to do a status review
- Discussed a few weeks ago at the TSC in the afternoon time slot
- All commenters agreed
- Wanted to bring it up in the morning TSC slot for any additional discussion
11 Apr 2024
- Evan Harrison, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
- Paul Walmsley, SiFive
- Olof Johansson,
- Jefro,
- Mason Li, MediaTek
- Tim O,
Agenda
- Distro and Integration Deep Dive led by Redbeard
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
- Updated Deep Dive Schedule- SEE APPENDIX
Distro and Integration Deep Dive
- Dev Infra WG Opens
- Dev Infra: would like to get Jeff’s signoff as Toolchain & Compiler WG chair for the GCC microcontroller Build Farm proposal
- FYI: RISE build farm infrastructure to build riscv64 python binary wheels. Proposal here.
- Dev Infra: Björn Töpel (Rivos) & Brian Harrington (Red Hat) taking the lead on RISE Build Farm management (thanks!)
- Open Discussion
Dev Infra & Language Runtimes WG Enabling RISC-V Boards Request
- RISE Scaleway Boards for Language Runtimes WG Proposal
- Scaleaway: RISC-V servers in the cloud.
Projects to be first enabled:
- Java/Adoptium: 15 boards to build and test Java 11, 17, 21, and 22. It runs for 2000 hours/week of building and testing
- Go: 5 boards, used exclusively for CI
- AlmaLinux/RockyLinux: 5 boards each, used to build their distributions on RISC-V
Next Steps
- TSC and WG are there other needs?
- Report back to Board in 3 months on usage progress
04 Apr 2024
- Michelle Martineau, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
Agenda
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
- Updated Deep Dive Schedule- SEE APENDIX
Kernel and Virtualization Deep Dive led by Anup Patel
Latest Linux release updates
- Linux-6.8 was released on 10th March 2024 and Linux-6.9 merge window concluded on 25th March 2024
Noteworthy updates:
- RVA23 profile extensions
Updates on discovery
- List of RVA23 profile extensions on wiki in-sync with latest spec
- https://lf-rise.atlassian.net/wiki/display/HOME/RVA23+Profile
- HWPROBE additions
No updates
- KVM ONE_REG additions
- Ztso and Zacas
Overall status
- Total 83 extensions (04-04-2024, wiki
- Kernel HWPROBE (04-04-2024)
- NA - 36 (43.37%)
- TBD - 16 (19.28%)
- COMPLETED - 31 (37.35%)
- KVM ONE_REG (04-04-2024)
- NA - 10 (12.05%)
- TBD - 26 (31.32%)
- COMPLETED - 47 (56.63%)
2023-2H
Updates on projects
- LK_01_003 - AIA drivers with DT support
- Development: Completed, Upstreaming: Completed
- First 8 patches merged in Linux-6.9 and remaining 8 in Linux-6.10
- LK_01_005 - Native/hosted debug support (aka HW breakpoint)
- Development: Completed, Upstreaming: OnGoing
- LK_02_011 - KVM native/hosted debug virtualization
- Development: Completed, Upstreaming: TBD
- LK_03_018 - QEMU-KVM vector crypto support
- Development: Completed, Upstreaming: Completed
- LK_03_019 - QEMU-KVM bitmanip support
- Development: Completed, Upstreaming: Completed
- Overall status
Total 27 projects (04-04-2024, wiki)
- Development (04-04-2024)COMPLETED / NOTNEEDED - 27 (100%)
- Upstreaming (04-04-2024)
- TBD - 3 (11.11%)
- ONGOING - 7 (25.93%)
- COMPLETED / NOTNEEDED - 17 (62.96%)
2024-1H
- Updates on priorities
- HWPROBE discovery for Z* and S* extensions included in RVA23 profile
- Kernel
- ISA Extensions
- ACPI improvements
- ACPI LPI support
- ACPI CPPC support
- ACPI PPTT support
- ACPI NUMA support
- ACPI SPCR support
- SBI v2.0
- Steal time support
- System suspend support
- Debug console support
- PMU snapshot support
- KVM
- KVM selftests
- KVM unit tests
- Host nested acceleration (Defined by SBI v2.0)
- ISA extensions
- ONE_REG discovery for Z* and S* extensions included in RVA23 profile
- Virtualize SBI v2.0 support
- Steat time support for Guest (incl. KVMTOOL and QEMU-KVM)
- System suspend support for Guest (incl. KVMTOOL and QEMU-KVM)
- Debug console support for Guest (incl. KVMTOOL and QEMU-KVM)
- PMU snapshot support for Guest (incl. KVMTOOL and QEMU-KVM)
- Xen
- Shared memory and event channel
- IOMMU driver
- Updates on projects
- LK_01_011 - ACPI LPI support
- Development: Completed, Upstreaming: Completed
- LK_01_012 - ACPI CPPC support
- Development: Completed, Upstreaming: Completed
- LK_01_018 - Optimize bitops using Zb* extensions
- Development: Completed, Upstreaming: Completed
- LK_02_015 - KVM Zawrs virtualization
- Development: Completed, Upstreaming: Ongoing
- LK_02_020 - KVM Zacas virtualization
- Development: Completed, Upstreaming: Completed
- LK_03_003 - KVMTOOL Debug console support
- Development: Completed, Upstreaming: Completed
- LK_03_012 - KVM selftests improvements
- arch_timer, demand_paging_test, dirty_log_test, get-reg-list, guest_print_test, kvm_binary_stats_test, kvm_create_max_vcpus, kvm_page_table_test, set_memory_region_test, and steal_time
- Development: Completed, Upstreaming: Completed
Lists of tests
- LK_03_013 - KVM unit tests RISC-V port
- Development: Completed, Upstreaming: Completed
- LK_03_020 - KVMTOOL Smstateen support
- Development: Completed, Upstreaming: Completed
- LK_03_021 - QEMU-KVM Smstateen support
- Development: Completed, Upstreaming: Completed
- LK_03_022 - KVMTOOL Zawrs support
- Development: Completed, Upstreaming: TBD
- LK_03_025 - QEMU-KVM Svnapot support
- Development: Completed, Upstreaming: Completed
- LK_03_028 - KVMTOOL Zacas support
- Development: Completed, Upstreaming: TBD
Overall status
- Total 43 projects (04-04-2024, wiki)
Development (04-04-2024)
- TBD - 8 (18.60%)
- ONGOING - 2 (4.65%)
- COMPLETED - 33 (76.75%)
Upstreaming (04-04-2024)
- TBD - 13 (30.23%)
- ONGOING - 10 (23.26%)
- COMPLETED - 20 (46.51%)
- Eclipse Temurin 21 and 22 Available on RISC-V
RISE and Adoptium Collaboration
- Significant advancement in the Java ecosystem: the availability of Eclipse Temurin 21 on RISC-V.
- Adoptium Blog: Eclipse Temurin 21 and 22 Available on RISC-V
- RVI Blog: Java 21 and 22 Now Available on RISC-V: A Collaboration Between RISE and Eclipse Adoptium
- RISE Linkedin Post (Working to create a blog page)
GCC Microcontroller CI Proposal
- RISE Build Farm: GCC Microcontroller Target CI proposal from the RISE DevInfra team.
- Add support for testing microcontroller architectures that don’t support all the g extensions. Some possible extensions to test would be:
- Rv32imac-ilp32
- Rv64imac-lp64
- Rv32imc-ilp32
- Rv64imc-lp64
- Rv32imc_zicsr_zifencei-ilp32
- rv64imc_zicsr_zifencei-lp64
Additional combinations with various bitmanip extensions can also be tested.
Projects need these boards are:
- Java/Adoptium: 15 boards to build and test Java 11, 17, 21, and 22. It runs for 2000 hours/week of building and testing
- Go: 5 boards, used exclusively for CI
- AlmaLinux/RockyLinux: 5 boards each, used to build their distributions on RISC-V
- The boards available on Scaleway are likely small to productize it, but they can allow to bootstrap the process.
28 Mar 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Ming-Yu Hung (MTK)
- Sunil V L, Ventana
- Mark Zhuang, SpacemIT
- Andrei Warkentin, Intel
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Zhang, BOSC
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
Agenda
- Welcome New Member: Tenstorrent
- Compilers and Toolchains Deep Dive led by Jeff Law
- RFP Quick Glance & RP008 update
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Compilers and Toolchains Deep Dive – RP008
- Rivos has identified cases where icounts for spec2017 on RISC-V are at least 10% higher than on AArch64
- Contractor to evaluate those cases for phase 1
- Identify issues driven by ISA differences
- Identify cases where compiler could be doing better along with broad approach to fixing – for phase 2 work
Compilers and Toolchains Deep Dive – GCC Status
- GCC-14 release likely in May
- Initial release with vector support
- Many other code generation improvements, extension support, etc
- Many things already queued up for gcc-15
- Leads to same problem we had last year – a year delay between code going into the tree and the actual release
- Likely resulting in a optimization coordination branch again
- 20 projects identified for 1H2024
- 10 are already at development completion, 8 in progress, 1 under investigation, 1 not started
- 6 already upstreamed (ie, in gcc-14), rest are on hold waiting for development window to reopen
Compilers and Toolchains Deep Dive – LLVM Status
- LLVM 18 release earlier this month
- New cores supported (primarily from SiFive)
- RV32E/RV64E support
- Register pressure sensitive scheduling
- Some TLSDESC support landing, early support for pointer masking
- Arch string ordering constraints relaxed!
- TypePromotion pass enable for RISC-V
- Several extensions moved out of experimental state
- Usual ongoing performance improvements
- Compilers and Toolchains Deep Dive – LLVM Status
- LLVM Projects identified for 1H2024 – only 6, like more that should be added to the page.
- CRC – looks like Joe Faulls (Imagination Technologies) has picked this up from Mikhail. MR filed and is undergoing review.
- X264 if-conversion. 2 of 3 blockers resolved. Still hashing through one notable issue in the generic if-conversion code
- Stack Clash – Just getting started, engineer’s 1st LLVM project
- Shrink Wrapping – Just getting started.
- Overly aggressive if-conversion in some cases?
Compilers and Toolchains Deep Dive – MISC
- Should we make LLVM and GCC distinct projects under the RISE umbrella, with Craig or someone else tied into the LLVM community as the leader for the LLVM effort going forward?
- We’ve generally avoided regularly scheduled meetings in this WG per requests from various developers – would a one-a-month “office hours” be useful for RISE members?
21 Mar 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Ming-Yu Hung (MTK)
- Sunil V L, Ventana
- Mark Zhuang, SpacemIT
- Andrei Warkentin, Intel
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Zhang, BOSC
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
Agenda
- Firmware Deep Dive led by Sunil V L
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Firmware Deep Dive led by Sunil V L
- 2024 Project Status update
Upstreaming complete.
- PoC available from Andes
- Andes hosting and maintaining github
- Dependency on RVI specs (MPXY/RPMI) to upstream.
- More work required to enable features
- AIA, Smmtt etc
- PoC available.
Dependency on frozen spec to upstream.
- SBI_00_04 - Domain Context Switch Support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
- 2024 Project Status update Cont.
- Upstreaming complete.
PoC available from Andes
- Andes hosting and maintaining github
- Dependency on RVI specs (MPXY/RPMI) to upstream.
- More work required to enable features
- AIA, Smmtt etc
- PoC available.
Dependency on frozen spec to upstream.
- SBI_00_04 - Domain Context Switch Support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
2024 Project Status update Cont.
- Helps vendors to support ACPI easily.
- RFC patches sent.
- Major refactoring of DynamicTablesPkg required to support other architectures.
- Maintainers started new staging branch to refactor.
- Upstreaming RISC-V support - probably late 2024 or 2025.
- In progress.
Dependency on UPL specification
- First version of the patch series sent
- EDK2_00_14 - DynamicTablesPkg support
- EDK2_00_10 - UefiPayloadPkg For RISC-V
- EDK2_00_18 - RISC-V QEMU Server Reference Platform
2024 Project Status update Cont.
- Showcased this RISE effort in UEFI DevCon & Plugfest
- https://www.youtube.com/watch?v=2w9iQE8jA1w
- PoC available at https://github.com/intel/FdtBusPkg
- https://www.youtube.com/watch?v=9RqKq4wGYZI
- EDK2_00_03 - FdtBusDxe support
Opens/Challenges
- Significant organization overhead to maintain in member’s github.
- There may not be any upstream repo at all.
- Ex: MultiArchUefiPkg.
- Getting requests from members for RISE github
- Need TSC help to clearly document the RISE policy for github repo.
14 Mar 2024
- Evan Harrison, The Linux Foundation
- Andrew de los reyes (Adlr), Rivos
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- Erich Hanke, AMD
- Jeff Law, Ventana
- Jian ZHANG, Beijing Institute of Open Source Chip
- Kumar Sankaran, Ventana
- Mason Li, MediaTek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Terje Bergstrom Nvidia
- Tim Ouyang, Andes
- Victor Costan, Google
Agenda
- Reminder: No deep dive for this week
- RFP Status Update
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
- RFP contract Progress
- Contract vendors send Tech Leads & RFP Reporting mailing Biweekly reports
- Please request this cadence when you start engaging with your contractor
- Tech Leads provide Monthly updates to TSC (Report)
- Working group updates to the board will include the RFP updates
Working Groups Opens / Challenge
- Not a distro-integration problem, in the RVI profiles discussion, there has been a lot of effort put into the idea of vertical profiles. There hasn't been a lot of discusssions about horizontal profiles. What happens when we get to the place where I have purchased my motherboard and I have to choose between chips from intel, ventana, etc... This is a discussion that needs to happen, there isn't a concrete answer right now.
- The platform spec - there should be one single distro image for all platforms, this is the high level answer currently.
07 Mar 2024
- MichelleMartineau, The Linux Foundation
- Tomas Evensen, AMD
- Ming-Yu Hung (MTK)
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Xiong, Alibaba
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Nathan Egge, Google
- Tim Ouyang, Andes
- Andrew de los reyes (Adlr), Rivos
- Jeff Law
- Ruinland, Andes
Agenda
- New Member Application in Progress- Bytedance
- Distro and Integration Deep Dive- Brian (RedBeard) Harrington
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Distro and Integration Deep Dive- Brian (RedBeard) Harrington
Charter:
- Work is focused on two kinds of projects.
- The champion identifies the directions/projects
- The WG works to prioritize, unravel dependencies on other WGs or file projects in other WGs
- Issues common to multiple Linux distros (e.g. bugs/features in common packages)
- Enabling a specific Linux distro, provided the Linux distro has a champion/vendor.
Ongoing work / requests:
- Establish a new kernel + old glibc baseline for use in Python packaging
- Ludovic (Rivos) has successfully made inroads with contributors to Alma Linux
- Unfortunately, due to the packaging policies on many RPM derived distros physical systems are needed for distributable packages.
- Establish support for SecureBoot on RISC-V
- Heinrich (Canonical) created a patch set in 2021 which Red Hat has failed to merge. Recently Redbeard updated the patch set and has increased the pressure internal to Red Hat to force feedback.
Upcoming work / requests:
- As chair for the WG I have been approached by a number of individual contributors and community members who are seeking a free/libre/open source FPGA toolchain which can be used in continuous integration systems. This is related to the prior citation about the need for physical systems.
- I have encouraged those reaching out to engage both the relevant mailing lists as well as attend the WG meeting so that I am not a critical mutex on all discussions.
Challenges:
- As with other groups, problems with attendees getting access to the mailing list and calendar invites.
WG Opens
- Ensuring WG leads have administrator access to their WG mailing lists
29 Feb 2024
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Daniel Barboza, Ventana
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Sunil VL, Ventana
- Nathan Egge, Google
- Tim Ouyang, Andes
- Andrew de los reyes (Adlr), Rivos
- Jeff Law
Agenda
- System Libraries Deep Dive led by Nathan Egge
- GCC SPEC analysis work
- RFP Updates
- WG Opens
- Future topics: AIs from this week
- AIs from last week
System Libraries Deep Dive 2024-February-29
- Toolchain performance plan?
- Can be fixed quickly by RISE member company
- Otherwise, can add to RFP for toolchain wor
- Assign owner for each gap
- Quickly triage problem
- Identify fixes into two categories:
- How anyone run these by Greg? - Paul
- Jeff to triage these issues that him and his team runs into. Adlr will assist with this effort after Jeff has triaged.
GCC compiler gaps
- GCC riscv64 vs GCC aarch64-SVE
- GCC riscv64 vs LLVM riscv64
- Note: Some LLVM tests don’t run
- ImageMagick was -30%, but fixed with Zfa
LLVM compiler gaps
- riscv64 LLVM vs riscv64 GCC
- Note: some LLVM tests didn’t run
- Generally see scalar code is behind
22 Feb 2024
- Michelle Martineau, The Linux Foundation
- Heinrich Schuchatdt, Canonical
- Erich Hanke, AMD
- Daniel Barboza, Ventana
- Barna Ibrahim, Rivos
- Mark Zhuang, Smacemit
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Gordan Markus, Canonical
- Fei Wu, Intel
- MyungJoo Ham, Samsung
- Sunil VL, Ventana
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Robin Randhawa, SiFive
- Anup Patel, Ventana
- Nathan Egge, Google
- Andrei Warkentin, Intel
- Simon Harvey, Imagination
- Ludovic Henry, Rivos
- Tim Ouyang, Andes
Agenda
- Language Runtimes Deep Dive led by Ludovic Henry
- RFP - Process; Status Update
- Requiring RVWMO minimum target for development projects
- Xen interest?
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Language Runtimes Deep Dive led by Ludovic Henry
- Optimization Guide is Live!
- https://gitlab.com/riseproject/riscv-optimization-guide
- Please contribute!
Next steps
- Get better address than
- https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/
- Working with Michelle on that
- RFP: Go Runtime
- Contract is still in process of being signed
- Ongoing contributions:
- Assembler and compiler
- Rotation, atomics, intrinsics, and more
- Support for Bitmanip
- Compiler optimizations
- Board farm
- Need for Adoptium, Go Runtime, AlmaLinux/RockyLinux (for Python)
- LicheePi/VF2 enough for some workloads, not enough for others
- Eager to see MILK-V Oasis in action
- In discussions with AlmaLinux and RockyLinux to understand what they would need (sizing, access)
- Need to sync up with Distribution WG
- Python packaging
- It’s being done internally at Rivos for nowWill push to RISE in the coming weeksAll based on GitLab
- We need to package and distribute Python packages
- Upstream projects can’t package on RISC-V today
- Limitation of Python packaging tools
- We have a WIP to get it based on Ubuntu 22.04
- Java 11 backport
- Landed yesterday with openjdk/riscv-port-jdk11u:309291f1
- Going to setup Adoptium CI for that
- Goal is to get it packaged and tested on public CI by end of month
- Java 17, 21 release
- Adoptium is very eager to get it done
- Approved by PMC and Steering Comittee
- Stuck on having HW for running TCK
- VF2 board on a desk is not an option at the moment…Working with Eclipse Foundation to make sure they have the resources and know-how to set it upBoard farm would be ideal here; Need for 7-10 LicheePi/VF2 for public + TCK CI
- Order of priority: 21, 17, 11
V8 & Android
- ISCAS has done the work to port V8 to Android RISC-V
- https://chromium-review.googlesource.com/c/v8/v8/+/5309945 - Approved and merged
- Next: android_toolchain NDK to support RISCV64
- Talking to Nathan about that
15 Feb 2024
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Heinrich Schuchatdt, Canonical
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Andrew de los Reyes (Adlr), Rivos
- Jeff Law, Ventana
- Jeffrey Osier-Mixon (Jefro), Red Hat
- Mason Li, MediaTek
- Nathan Egge, Google
- Tim Ouyang, Andes
- Trilok Soni, Qualcomm
Agenda
- Developer Infrastructure Deep Dive led by Paul Walmsley
- Association Collaborations - how to organize and discuss
- Adoptium, AGL, Yocto, ?
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Developer Infrastructure WG Introduction & Vision
- Build Farm
- 2023Q4 Review
- 2024Q1 Midpoint Update
- Next Steps
- Board Farm
- Developer Tools
- Challenges
Developer Infrastructure WG Introduction
Charter
- The Developer Infrastructure WG focuses on software and services to support open-source RISC-V developers - both RISE members and the broader open-source community.
Co-chairs
- Barna Ibrahim (Rivos)
- Paul Walmsley (SiFive)
- TSC Contact
- Nathan Egge (Google)
Developer Infrastructure WG Vision
- Three mutually-supporting projects
- RISE Build Farm (Active)
- RISE Board Farm (In planning)
- RISE Developer Tooling (In planning)
- Integration of set of software and user space tools that are necessary to cross build or test.
Goal
- Provide robust development infrastructure and tools to RISC-V developers
RISE Build Farm: Introduction
Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
Status
- Build Farm growing quickly…
- Four active projects spanning three RISE work groups
- 100% growth from 2023Q3
- … but need to grow faster!
Build Farm: 2023Q4 Review
- Broadened the administration base
- Björn Töpel (Rivos) now helping out with general admin tasks
- Two existing projects from 2023Q3 still running
- Linux kernel and gcc post-commit CI
- Two new projects added in December 2023
- Patrick O’Neill & Edwin Lu (Rivos)
- Ludovic Henry (Rivos)
gcc pre-commit CI
OpenJDK post-commit CI
Improved policies and administration documentation
- Example: Project Proposal Form
Build Farm: 2024Q1 Midpoint Update (1 of 2)
- Kernel CI instances converted to use GKE - Björn Töpel (Rivos)
- Dealing with technical issues (to be discussed with Google)
- Costly, but well-integrated with Github Runners and offers easier scaling
- Still experimental and under review
Kernel CI doing more work
- New projects in progress
- Patrick O’Neill & Edwin Lu (Rivos)
- GCC/LLVM toolchain fuzzing
Build Farm: 2024Q1 Midpoint Update (2 of 2)
- Broadening the administration base
- Brian “redbeard” Harrington (Red Hat) has expressed interest in helping
- Instance power control now available
- Should reduce spend for intermittent workloads (e.g. OpenJDK CI)
- Discussions in progress with LF IT on support options
- GKE support questions
- Build farm management assistance
Build Farm Next Steps for rest of 2024Q1
- Add more Build Farm projects
- Attend other WG meetings to solicit other projects
- Continue to improve operations
- Continue improving policies & procedures
- Continue improving documentation (wiki & internal)
- Continue investigating external IT assistance
- Continue recruiting more Build Farm Leads
- Enable webhook-driven builds
- Start tracking our admin service metrics
- Get cloud credit details from LF IT/Google Cloud
- Drive greater efficiency
- Review GKE value
- Implement power control on lightly-used instances
- Investigate spot instances
RISE Board Farm: Introduction
Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
- Status: Still very early days
- Discussions underway with RVIA, OSUOSL
RISE Developer Tools: Introduction
Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware
- Discussed options so far: Nathan’s Gentoo build and OpenEmbedded
- No one yet coordinating
Challenges
- Improve administration turnaround time for creating new instances, etc.
- Better administrator attendance at our WG meetings
- Drive more activity on the Board Farm and Developer Tools projects
- Looking for help to drive the Developer Tools effort forward
- Need more build projects and project owners!
- Please help
Credits
- Barna Ibrahim (Rivos): Co-chair
- Björn Töpel (Rivos): Kernel CI Build Farm Project Admin, Build Farm Lead, Build Farm Administrator
- Curtis Galloway (Google): Board Farm Lead
- Edwin Lu (Rivos): Toolchain Build Farm Project Admin
- Ludovic Henry (Rivos): Language Runtimes Build Farm Project Admin
- Patrick O’Neill (Rivos): Toolchain Build Farm Project Admin
- Paul Walmsley (SiFive): Co-chair
Language Runtime WG Adoptium Membership Proposal
- Adoptium Introduction
- Only fully Open Source Java vendor - Alignment with RISE Goals
- OSS test suite used by Ubuntu and Redhat JDK
- RISE Adoptium Sponsorship Benefits
- Deeper engagement and visibility with Java Community
- Adoptium is one of the most used Java distribution
- Provide machines to Adoptium (Build farm, Board farm)
Association Collaborations
- Adoptium Introduction
- Only fully Open Source Java vendor - Alignment with RISE Goals
- OSS test suite used by Ubuntu and Redhat JDK
- Board approved supporting via CI services and perhaps get RISE logo listed
- Discussions around Adoptium, AGL, Yocto
How should we propose and track these?
- Any RISE spend should ensure value for money
- ACTION: Discuss with Yocto if they want to become a member: Jefro is happy to support the discussion with Yocto
08 Feb 2024
- Gordan Markus, Canonical
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Heinrich Schuchatdt, Canonical
- Tomas Evensen, AMD
- Jian Xiong, Alibaba
- Barna Ibrahim, Rivos
- Fei Wu, Intel
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Simon Harvey, Imagination
- Robin Randhawa,SiFive
- Mark Zhuang, SpacemIT
- Ludovic Henry, Rivos
- Victor Costan, Google
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Anup Patel, Ventana
Agenda
- Simulator Emulator Deep Dive led by Daniel Barboza
- Debug & Profiling Deep Dive Led By Fei Wu
- RISC-V Optimization Guide Publication
- RFP: RP004 Review and Status
- WG Opens/challenges
- Firmware: OP-TEE WG Opens
- AIs from last week
Simulator Emulator Deep Dive led by Daniel Barboza
- WG 2023 wrap-up
- WG 2024 item status
- Projects not yet started
- Projects in progress, not yet sent for review
- Projects under review
2023 wrap-up:
- SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
- SE_01_002 - QEMU Virtual IRQ and IRQ filtering support
- SE_01_014 - QEMU query-cpu-model-expansion API
- SE_02_001 - QEMU Vector crypto support
- SE_01_009 - QEMU ACPI support for AIA
- SE_01_010 - QEMU ACPI support for PLIC
- SE_01_011 - QEMU RVA22 profiles support
- SE_01_005 - QEMU PCIe passthru on x86 host
- Projects completed and available in QEMU 8.0 (launched Dec 2023):
- Projects completed and available in QEMU 9.0 (to be released April 2024):
- Projects not completed in time and pushed to 2024:
2024 projects - not yet started
- Tracker project
- Project RP005 Add QEMU TCG support for V and Zvk
- Bidding ends Feb 2nd
- RISE contacts: Max Chou (Si-Five) and Daniel Barboza (Ventana)
- SE_01_003 - QEMU WorldGuard support
- SE_01_016 - QEMU linux-user hwprobe kernel parity
- SE_01_021 - QEMU RVA23 profile support
- SE_02_004 - QEMU RVV performance enhancements
2024 projects - in progress, not sent for review
- Community project (Starfive)
- Community project (Starfive)
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- SE_01_020 - QEMU SMBIOS support for RISC-V
2024 projects - upstream progress ongoing
- Last version: v1
- Project has dependencies on UBOOT and GRUB
- Last version: v5
- Last version: v1
- Development done by Rivos, Ventana will help with the upstreaming
- SE_01_005 - QEMU PCIe passthru on x86 hosts
- SE_01_004 - QEMU IOPMP support
- SE_01_015 - QEMU RISC-V IOMMU support
Debug & Profiling Deep Dive Led By Fei Wu
2023 projects
- Code ready for running integer part of RVV instructions, but in slow review process
- v7 patch submitted, hoping get pushed soon
- Technical ready, but rv32 on llvm is inactive, not only asan
- DP_04_001 - Userspace Cycle/Instret access (Done)
- DP_01_002 - Evaluate GDB status on RISC-V (Done)
- DP_02_002 - Evaluate LLDB status on RISC-V (Done)
- DP_00_001 - Valgrind vector support
- DP_01_003 - GDB Simulator - Add Zc support
- DP_05_001 - Address Sanitizer
2024H1 new projects
- DP_04_002 - Perf event discovery/encoding from json file (Dev Done)
- DP_04_003 - Perf CTR (equivalent of x86 LBR) support (Dev Done)
- DP_04_004 - Perf CTR call stack mode support (WIP)
- DP_07_003 - DynamoRIO drcachesim & drcov support (WIP)
- DP_07_004 - DynamoRIO V extension support
- DP_07_005 - DynamoRIO enable remaining tests that are also supported by AArch64
- DP_07_006 - DynamoRIO RISC-V specific documentation
Software performance regression CI Infrastructure (Discussion)
- Currently, many software optimizations on RISC-V are performed on QEMU or non-representative hardware with limited resources. These optimizations are based on the developer's interpretation of the features, which may not align with the actual hardware or may vary across different hardware.
- Software performance regressions are a common occurrence and it's crucial that we identify and fix them at the earliest possible stage.
- Problem to solve
- Linaro extends LKFT (Linaro Kernel Functional Test) functionalities to include automatic detection and reporting of performance regressions in 2021
- Test on real hardware and focus on key software, easy to scale to other software
- RFP?
RISC-V Optimization Guide Publication
- TSC Optimization Guide discussion; Agreement on dropping the vendor languages for the release - Merged.
- This is a living document and will continued to be updated
- Publish the Optimization Guide 02/09/2024
- Follow up with RVI leadership on the published link.
Firmware: OP-TEE WG Opens
Rationale
Risk of fragmentation
- Multiple orgs are already working on OP-TEE ports to RV64
- 5 known so far, probably more exist
- The fragmentation scope is likely to increase over time
- Especially as ‘new’ security architecture features gain traction
- Eg WorldGuard, SMMTT et al
Technical challenges
- OP-TEE presents some technical challenges for RISC-V
- These need structured debate, design and development
- Eg OP-TEE’s pre-emption model is tricky for RISC-V
- OP-TEE will probably have M-Mode dependencies
Strategic issues
- Upstream OP-TEE does not have a RISC-V maintainer
- OP-TEE is fundamentally an Arm led initiative
- A fragmented upstreaming effort will benefit no one
Logistical challenges
- A public platform is needed
- That supports relevant security features
- Qemu virt is a natural default option
- But similar risks apply here as well
- Alignment needed on the nature of qemu support
- Such alignment needs a RISC-V specific forum
RISE as a convergence point will mitigate these problems
Collaboration model outline
- Key elements
- An OP-TEE focus group within the Firmware WG
- A public OP-TEE staging repository within RISE
- A RISE hosted OP-TEE specific blog (or similar)
- Workflow
- Work definition and delegation
- The focus group collaborates on work definition, delegation
- Establishing dependencies on other WGs or projects, if any
- Outputs are published externally on the blog
- Promotes wider community awareness
- Reduces the potential for any redundant work etc
- Code contribution
- Code contributions are ‘collected’ in the staging repository
- From both RISE members and non-members
- The focus group resolves any ‘impedance mismatches’
- Between work in this repository, the OP-TEE upstream, etc
- Upstream pull requests
- Code contributions are suitably reviewed and processed
- Upstream PRs are raised by relevant work owners
- Upstream review
- The focus group helps resolve upstream queries etc
- Through to upstream inclusion of code
OP-TEE focus group
- Is there precedent for such a thing ?
- Why can’t we just engage directly with upstream instead ?
- What is the structure of such a focus group ?
- What is the impact on other FW WG work ?
OP-TEE staging public code repository
- Is there precedent for such a thing ?
- We don’t want to create another upstream
- Such a repository needs ownership and maintenance
- Also a branching regime etc
OP-TEE public blog
- Is there precedent for such a thing ?
- This needs ownership and maintenance
- Info on this blog needs to be ‘well formed’ - needs thought
Miscellaneous
- The existing OP-TEE RFP may be used to kickstart work
- Nuclei’s publicly available work can help too
01 Feb 2024
- Jeff Law, Ventana
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Barna Ibrahim, Rivos
- Larry Wikelius, Qualcomm
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Jian Zhang, BOSC
- Ludovic Henry, Rivos
- Victor Costan, Google
- Adlr (Andrew de los Reyes), Rivos
- Jefro (Jeffrey Osier-Mixon), Redhat
- Kumar Sankaran, Ventana
- Mason Li, Mediatek
- Steve Wanless, Redha
Agenda
- Board Representative Larry Wikelius (Qualcomm)
- RISE Optimization Guide
- RFP Prioritization Approvals
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
25 Jan 2024
Attendees
- Jeff Law, Ventana
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Nathan Egge, Google
- Barna Ibrahim, Rivos
- Larry Wikelius, Qualcomm
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Simon Harvey, Imagination
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Jian Xiong, Alibaba
- Jian Zhang, BOSC
- Robin Ranhawa, SiFive
- Ludovic Henry, Rivos
- Ming-Yu hung, MediaTek
- Victor Costan, Google
Agenda
- Board Representative Larry Wikelius (Qualcomm)
- Contractor project payments
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Kernel and Virtualization Deep Dive led by Anup Patel
AGENDA:
- RVA23 profile extensions
- Updates on discovery
- Overall status
- 2023-2H
- Updates on projects
- Status on priorities
- Overall status
- 2024-1H
- Final priorities
- Overall status
RVA23 updates on Discovery
- List of RVA23 profile extensions on wiki in-sync with latest spec
- https://lf-rise.atlassian.net/wiki/display/HOME/RVA23+Profile
- HWPROBE additions (in past 3 months)
- Zicboz, Zfhmin, Zkt, Zvfhmin, Zvbb, Zvkt
- Zvkned, Zvknhb, Zvkb, Zvkt, Zvkg, Zvksed, Zvksh, Zvkb, Zvbc
- Zihintntl, Zicond, Zacas, Zfa, Zfh, Zbc, Zvfh
- KVM ONE_REG additions (in past 3 months)
- Zfhmin, Zkt, Zvfhmin, Zvbb, Zvkt
- Zvkned, Zvknhb, Zvkb, Zvkt, Zvkg, Zvksed, Zvksh, Zvkb, Zvbc
- Zihintntl, Zicond, Zfa, Zfh, Zbc, Zvfh
RVA23 Extensions overall profile status
- Total 83 extensions (25-01-2024, wiki)
- Kernel HWPROBE (25-01-2024)
- NA - 36 (43.37%)
- TBD - 16 (19.28%)
- COMPLETED - 31 (37.35%)
- KVM ONE_REG (25-01-2024)
- NA - 10 (12.05%)
- TBD - 27 (32.53%)
- COMPLETED - 46 (55.42%)
- 2023 2H Project Updates
- LK_01_020 - Vector crypto extensions discovery using HWPROBE
- Development: Completed, Upstreaming: Completed
- LK_01_033 - Bitmanip extensions discovery using HWPROBE
- Development: Completed, Upstreaming: Completed
- LK_02_004 - KVM AIA irqbypass
- Development: Completed, Upstreaming: TBD
- LK_02_019 - KVM vector crypto extensions virtualization
- Development: Completed, Upstreaming: Completed
Kernel
- STILL NO ACTIVITY from RISE member
- New kernel irqchip maintainer has requested few changes in the AIA DT drivers
AIA ACPI support upstreaming blocked on DT drivers
- Being done along with AIA ACPI support
- STILL NO ACTIVITY from RISE member
Sdtrig spec is frozen but the SBI DBTR spec will be part of SBI v3.0
- Memory Hot(Un)plug
- KASAN support
Basic ACPI support
- AIA support (DT, ACPI)
- PLIC support (ACPI)
- IOMMU (DT)
Vector extension support
- Vector crypto extension discovery using HWPROBE
- Native/hosted debug support (aka HW breakpoints)
- Bitmanip extension discovery using HWPROBE
KVM
- Patches on LKML blocked on AIA DT driver upstreaming
- Work being done in a fork since it depends on AIA DT driver and IOMMU upstreaming
- Sdtrig spec is frozen but the SBI DBTR spec will be part of SBI v3.0
Vector extension virtualization
- AIA irqchip (incl. kvmtool and qemu support)
- AIA IMSIC guest file support
- AIA irq-bypass (aka Device MSI virtualization, incl. kvmtool and qemu)
- KVM vector crypto extension virtualization (incl. kvmtool and qemu)
- KVM Native/hosted debug virtualization
- KVM bitmanip extension virtualization (incl. kvmtool and qemu support)
Overall Status:
- Total 27 projects (25-01-2024, wiki)
- Development (25-01-2024)
- TBD - 2 (7.41%)
- PROTOTYPE - 2 (7.4%)
Native/hosted debug blocked on specifications
- ONGOING - 0 (0%)
- COMPLETED / NOTNEEDED - 23 (85.19%)
- Upstreaming (25-01-2024)
- TBD - 6 (22.22%)
- ONGOING - 7 (25.93%)
- COMPLETED / NOTNEEDED - 14 (51.85%)
2024-1H: Final priorities
Kernel
- HWPROBE discovery for for Z* and S* extensions included in RVA23 profile
- ACPI LPI support
- ACPI CPPC support
- ACPI PPTT support
- ACPI NUMA support
- ACPI SPCR support
Steal time support
- System suspend support
- Debug console support
- PMU snapshot support
- ISA Extensions
- ACPI improvements
- SBI v2.0
KVM
- KVM selftests
- Host nested acceleration (Defined by SBI v2.0)
- ISA extensions
- ONE_REG discovery for Z* and S* extensions included in RVA23 profile
Virtualize SBI v2.0 support
- Steat time support for Guest (incl. KVMTOOL and QEMU-KVM)
- System suspend support for Guest (incl. KVMTOOL and QEMU-KVM)
- Debug console support for Guest (incl. KVMTOOL and QEMU-KVM)
- PMU snapshot support for Guest (incl. KVMTOOL and QEMU-KVM)
Xen
- Shared memory and event channel
- IOMMU driver
2024-1H: Overall status
- Total 43 projects (25-01-2024, wiki)
- Unassigned - 6 (13.95%)
Development (25-01-2024)
- TBD - 13 (30.23%)
- ONGOING - 4 (9.30%)
- COMPLETED - 26 (60.47%)
Upstreaming (25-01-2024)
- TBD - 20 (46.51%)
- ONGOING - 13 (30.23%)
- COMPLETED - 10 (23.26%)
Follow up: Compilers and Toolchains Deep Dive (1/18/24)
- Effort just starting to evaluate LLVM & GCC against each other to help drive improvements in both
- Initial focus on Spec2017 (int and fp) on rv64gcv+bitmanip
- Dynamic instruction counts rather than uarch/cycle metrics for now
- GCC/LLVM Vector Investigations Internal to RISE right now
- Goal is help both compilers know where to focus improvement efforts going forward, not to promote one compiler over the other or one design over another
18 Jan 2024
Attendees
- Jeff Law, Ventana
- Tim Ouyang, Andes
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Nathan Egge, Google
- Barna Ibrahim, Rivos
- Gorden Markus, Canonical
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
Agenda
- Compilers and Toolchains Deep Dive led by Jeff Law
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Compilers and Toolchains Deep Dive
- Effort just starting to evaluate LLVM & GCC against each other to help drive improvements in both
- Initial focus on Spec2017 (int and fp) on rv64gcv
- Dynamic instruction counts rather than uarch/cycle metrics for now
- Goal is help both compilers know where to focus improvement efforts going forward, not to promote one compiler over the other or one design over another
Compilers and Toolchains Deep Dive – GCC
CRC optimization
- Detect and optimize CRC loop to table lookup or clmul
- 10-20% on Coremark depending on clmul/memory latency
- Works on more than just Coremark
- Implementation done. Upstreaming effort to start shortly
- Autovectorization focus expanding to include specfp
- Wrf (70%), roms (35%), cam4 (17%), fotonik (12%), bwaves (5%), cactuBSSN (5%) parest (5%)
- Initial evaluation starting with instruction counts
- Expecting to see results similar to x86_64 and aarch64
- Additional mem* and str* vector optimizations
- Inline expansion when source/destination may overlap
- glibc ifunc based implementations of key routines as well
Compilers and Toolchains Deep Dive – GCC
Other FP optimizations
- Use rsqrt estimator to improve key (unvectorizable) loop in nab - not 100% sure it’s profitable, will need testing
- Use dual fmacs and recip estimator to improve atan2 which is heavily used by WRF benchmark
- Increase lookahead in scheduler – becomes more important as we start seeing dual FPU designs
- Stack Clash Mitigations
- Naive implementation limping along already
- Good implementation (reduce explicit probing) underway
- Closest to AArch64 implementation, needs PSABI verbage
Compilers and Toolchains Deep Dive – LLVM
- Big thanks to Craig Topper (SiFive) for covering LLVM
- Split register allocator, vector first, then scalar registers
- Allows for vsetvl insertion between phases so vector registers can be partially spilled
- Stop considering conditional branches as “expensive”
- Prefers multiple branches over logicals to combine several branches into one
- LTO vs -march/-mcpu issues in crosshairs
- Core-V support (xcvmem, xcvelw)
- Intrinsic and assembler support for various new extensions
- Global Dynamic TLSDESC
- ULEB128 relocation support for DWARF V5 & C++ exceptions
- Vector calling conventions merged. Proposal for passing fixed length vectors in vector registers under review
- The RFP is in the pipeline right now and should close in February. This could also start as a Compiler email thread, and if needed this can be further discussion inside the Compiler's meeting.
Dev Infra: Board Farm Update
- RISC-V International Effort overview
- Dev Boards program enabling developers with hardware.
- Labs Cloud Access - CI enablement; No common interfaces, or common operational standards (yet).
Considerations for next steps are
- RISE can propose/sponsor a Program and leverage the existing RVI infrastructure to enable hardware with developers.
- Longer Term: How best to enable CI jobs that require RISC-V Hardware. Utilize labs such as OSU-Open Source lab etc.
11 Jan 2024
- Anup Patel, Ventana
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Evan Harrison, Linux Foundation
- Fei Wu, Intel
- Heinrich Schuchardt, Canonical
- Jian Zhang, BOSC
- Ludovic Henry, Rivos
- Ming Yu-Hung, Mediatek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Ruinland Tsai,
- Simon Harvey, Imagination
- Sunil L, Ventana
- Tim Ouyan, Andes
- Tomas Evensen, AMD
- Victor Costan, Google
Agenda
- Firmware Deep Dive led by Sunil V L
- Optimization Guide Status
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Firmware Deep Dive
New projects added.
- 2H 2023 Project Status
- 1H 2024 Projects (Draft)
- Discussion Topics
FW WG - New projects added
- EDK2
- EDK2_00_18 - RISC-V QEMU Server Reference Platform - 1H 2024
- COREBOOT
- COREBOOT_00_01 - coreboot for SiFive Unmatched - 1H 2024?
- COREBOOT_00_02 - coreboot for StarFive VisionFive2 - 1H 2024?
- COREBOOT_00_03 - LinuxBoot for coreboot on RISC-V - 2H 2024
- COREBOOT_00_04 - TianoCore for coreboot on RISC-V - 2H 2024
- HPC (?)
- HPC_00_01 - Minimal functional SBI definition for HPC (placeholder)
- OP-TEE
- OPTEE_00_01 - OP-TEE support for RISC-V - 2H 2024
FW WG - 2H 2023 - Projects Status
FW WG - 1H 2024 - Projects (DRAFT)
FW WG - Discussion Topics
- Projects discovering spec gaps. Spec freeze may take time.
- Large projects are difficult to break down initially and then can spill over into next half.
- Projects being done by non-RISE members. How to update wiki page?
- RISE specific gitlab/github.
RISC-V Optimization Guide Discussion
- Leads Ludovic and Simon
- Licencing The various RVI specs are distributed under the CC-BY-SA-4.0 license (Ex. RISC-V ISA Manual ).
- Moved to Git invite only within RISE team members.
Time lines:
- 11/06/2023 - 01/15/2023 Seeking feedback from RISE
- 01/15/2023 Inform RVI and give access to the document.
- Week of Jan 31st, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
- How many people can we add to the repo, question for Michelle
- Adjust the timelines until people can get access to gitlab
- Is it possible to get accss to the repo before, Michelle has sent information for DCMA to github. Nathan has to look into this information.
- When we get more contributors, Ludovic will send out an email and this will kickoff the two weeks date for feedback from RISE.
14 Dec 2023
Attendees:
- David Weaver, Akeana
- Nathan Egg, Google
- Victor Costan, Andes
- Barna Ibrahim, Rivos
- Tim Ouyang, Andes
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- Brian (Redbeard) Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Evan Harrison, The Linux Foundation
- Jeff Law, Ventana
- Erich Hanke, Canonical
- Tomas Evensen, AMD
- Ammone Chapackdee, Ventana
- Andrew de los reyes (Adlr), Rivos
- Ludovic Henry, Rivos
- Trilok Soni, ISCAS
Agend
- RISC-V Optimization Guide
- Valgrind RISC-V Porting discussion follow up
- WG Opens
- LLVM CI RFP Status
- Future topics: WG Opens/challenges
- AIs from last week
- 2FTE Reporting Best Practices
- Meeting on January 4th
RISC-V Optimization Guide Discussion
- Leads Ludovic and Simone
- Added Intended Audience and Vendor Neutrality language
- Licencing The various RVI specs are distributed under the CC-BY-SA-4.0 license (Ex. RISC-V ISA Manual ).
- What is the specific use case for this? The question from the team is, who is this directed towards?
- The team has decided to continue work on this document before it is published.
- ACTION:
- Decision: Move to Gitlab only with RISE team members
Time lines:
- 11/06/2023 - 12/15/2023 Seeking feedback from RISE
- 12/15/2023 Inform RVI and give access to the document. Can we resolve the comments inputs?
- We pushing this back to the week of 1/8/24
- ACTION: Check in with team after the holidays to see if they are ready to present to RVI
- Week of Jan 8th, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
Debug & Profiling: Valgrind Porting to RISC-V
- No RISC-V support on Valgrind
- Valgrind ownership?
- Valgrind-riscv64; poc-rvv
- There needs to be a further discussion on this topic: Barna and Jeff will take this offline to further schedule. To be picked up in Jan.
Working Group Opens
- Python Packaging Challenge
- TL;DR: building python packages depends on AlmaLinux 8 which doesn’t support RISC-V
- The two, non-exclusive, and complementing proposals are:
- GCC Auto Vectorization
- Autovec in GCC is new and there is a need to push to improve codegen.
- Other architectures have honed autovec with years of work and dozens of engineers working. This is one step in evening the field.
- Have RISE to explore what it takes and then determine next steps.
07 Dec 2023
Attendees:
- David Weaver, Akeana
- Nathan Egg, Google
- Victor Costan, Andes
- Barna Ibrahim, Rivos
- Fei Wu, Intel
- Tim Ouyang, Andes
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- Brian (Redbeard) Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Paul Walmsley, SiFive
- Robin Randhawa, SiFive
- Michelle Martineau, The Linux Foundation
- Jeff Law, Ventana
- Anup Patel, Ventana
- Erich Hanke, Canonical
- Jian Xiong, Alibaba
- Ken Unger, Microchip
- MyungJoo Ham, Samsung
- Ming-Yu Hung, MediaTek
- Simon Harvey, Imagination
- Tomas Evensen, AMD
- Gordan Markus, Canonical
Agenda
- System Libraries Deep Dive Q&A (Nathan) (10mins)
- Distro Integration Deep Dive
- Debug & Profiling Projects 2024 (Ammone/Fei) (10 mins)
- RISC-V Optimization Guide Discussion and Inputs (10 mins)
- RFP LLVM CI Announcement Draft
- AIs from last week
- WG Updates/Challenges & Future Topics
System Libraries Deep Dive Q&A (Nathan) (10mins)
Guide for Optimizing RISC-V Assembly
- RISC-V Optimization Guide [1]
- Document started by Rivos, now with many contributors from other companies
- Key idea: Best practices guide with recommendations for assembly optimizations
- Target application processors
- smartphone, laptop, desktop, server; OoO; rv64gv*
- Example code illustrative of how “strip mining” routines should be written
- Want everyone’s input. It should be vendor-agnostic.
- It’s about optimizing RISC-V software, similar to Intel and ARM guides
- Moving to GitLab project so we can take contributions from outside
- Text diffs, PDF generation, discoverable, etc.
[1] https://docs.google.com/document/d/1dp6JtXIE3ucCl71_Vr711tX24Kd3JSS2x0Y3urh8k1U
Case Study: Adding RVV 1.0 to dav1d [1]
- dav1d is an AV1 decoder
- Goals: fastest software decoder, cross-platform, small binary size
- Achieves this through a *LOT* of handwritten assembly!
Totals grouped by language (dominant language first):
asm: 208824 (84.23%)
ansic: 38956 (15.71%)
sh: 153 (0.06%)
- Essentially a C orchestrator around specialized DSP functions
- C ABI conformance matters, assembly functions can do weird things
- Good place to test RISC-V Vector assembly routines
- Excellent testing framework with performance evaluation built-in
[1] https://code.videolan.org/videolan/dav1d/-/merge_requests/1463
dav1d Correctness Testing
- Unit tests:
- Driven by checkasm test harness
- For each DSP function
- Generate random input data with padding
- Call C function
- Call ASM function <-- more on this later
- Compare output data
- Check padding not overwritten
- For each CPU configuration (e.g., SSE2, SSSE3, SSE4.1, AVX2, AVX-512)
- Integration tests:
- Decode 772 test videos and compare md5sum
- Run previously found configurations from fuzzing bugs
- Driven by dav1d command line decoder
Adding RISC-V Vector Specific Functions
- Implemented a single DSP function for 2D 4x4 transform
- Used HWCAP for feature detection, showed how to integrate code at runtime
- Hand-written RVV 1.0 assembly, ~200 instructions
- Added C code for new architecture, RISC-V
- Some boiler-plate code, but good example for other projects to follow
- Hooks into existing testing infrastructure
- This is enough to test DSP function for correctness
Updating checkasm for RISC-V C ABI
- Want to ensure ASM functions don’t have side effects
- Check that callee-saved registers s0 to s11 and fs0 to fs11 are preserved
- Check that unallocatable registers gp and tp are preserved
- Check that the call frame registers ra and sp are preserved
- Prevent dependencies on uninitialized values
- Load callee-saved registers s0 to s11 and fs0 to fs11 with random values
- Load temporary registers t0 to s6 and ft0 to ft11 with random values
- Fill stack space below sp with random values
- Add stack canary above last parameter to detect stack smashing
dav1d Performance Testing
- Built-in performance measurement tool
- Run C code in a loop N times
- Run ASM code in a loop N times
- Compute speed-up
- Driven by checkasm test harness
- Allows for easily repeatable performance measurements
- Across different RISC-V devices
- Over-time to ensure no regressions are introduced
- Potentially compare same functions to *other* ISAs
- Easy to run, just add --bench to previous checkasm command
- Performance benefit is not clear
- Still no access to RISC-V Vector 1.0 hardware
- Under QEMU, emulated RVV running predictability *slower* than scalar!
Testing Multiple Vector Lengths
- In .gitlab-ci.yml
test-debian-riscv64:
extends:
- .debian-amd64-common
- .test-common
needs: [ "build-debian-riscv64" ]
script:
- meson setup build --buildtype release
-Dtestdata_tests=true
-Dlogging=false
-Dtrim_dsp=false
--cross-file package/crossfiles/riscv64-linux.meson
- ninja -C build
- cd build && time meson test -v --timeout-multiplier 2
parallel:
matrix:
- QEMU_CPU: [ "rv64,v=true,vext_spec=v1.0,vlen=128,elen=64",
"rv64,v=true,vext_spec=v1.0,vlen=256,elen=64",
"rv64,v=true,vext_spec=v1.0,vlen=512,elen=64",
"rv64,v=true,vext_spec=v1.0,vlen=1024,elen=64" ]
Compliant RVV 1.0 Hardware Arrives!
- Ported Gentoo VM Developer Environment to K230 hardware
- Modern developer tooling (clang-17.0.3, gcc-13.2.1, rust-1.73, etc)
- Images can be made available to anyone with same hardware
[1] https://github.com/kendryte/k230_sdk/issues/37
Runs 7.4x faster than C on RVV hardware!
Roughly comparable to other architectures
Kendryte K230 “good enough” for testing?
Pros:
- Board contains spec compliant RVV 1.0
- Shows speed-up compared to C code
- Unblocks upstream projects who want numbers
Cons:
- May not represent RISC-V devices that ship
at volume
- Hard to get access to, currently sold out
Online now! Email ssh key to negge@google.com
RP002 - Optimize H.264 Decoding in FFmpeg
Accelerate H.264 decoding in FFmpeg by adding RISC-V optimizations. Specifically,
- Implement specialized RISC-V DSP routines for the identified functions in H.264 DSP functions
- Using hardware feature detection so specialized functions are enabled at runtime
- Only ratified extensions to RISC-V can be used, for example V + Zb{a,b,c,s}
- Implementations should work on vector lengths 128b and greater
- Develop a test harness to verify correctness against the pure C implementation
- Randomized input verified against C for each specialized DSP function
- Update testing infrastructure to run full correctness test harness (2a) in CI
- Develop a test harness to measure performance against the pure C implementation
- Unit tests to benchmark specialized DSP functions, see https://code.videolan.org/videolan/dav1d/-/merge_requests/1463
- Integration tests that measure H.264 decoding speed for set of real-world videos
- Produce a performance report based on (3) that compares the pure C to optimized code
- DSP function speed-up on RISC-V hardware v C implementation
- Table of video sequence decode speeds (in FPS) before and after optimization
- Roughly equivalent data on alternate ISAs (for reference only)
- Testing shall be done on any conformant RISC-V hardware that contains RVV 1.0 extension, for example:
- Kendryte K230 - https://www.canaan.io/product/k230
- Software shall be licensed MIT/BSD or similar so it is available to other projects
Low Lights
- QEMU executes RVV optimizations *slower* than scalar code
- This is a bigger problem than initially expected
- Impact on developer productivity: slow execution time, drag on emulated systems
- Gets worse the *more* RVV code you have!
- Needed to disable RVV in bionic under QEMU as mitigation [1]
- "Android boots 2x faster on qemu if you disable V"
- RP005 - Add QEMU TCG support for V and Zvk <-- this will help!
ILP32 on RV64
- Guo Ren (Alibaba) present slides from Linux Plumbers Conf [1]
- Idea is to use 32-bit pointers with 64-bit instructions
- Saves ~25% memory (measured in pages) in the Linux Kernel
- Requires a separate ABI
- Conclusion from SL WG was this is not a RISE priority
- High cost to support multiple ISA’s foisted on the OSS and developer ecosystem
- Long-term burden on compatibility for minimal gain
[1] https://lpc.events/event/17/contributions/1475/
Distro Integration Deep Dive
Purpose: To provide direction and feedback around the integration of the software components needed to comprise an entire operating system
Near term goals: Alignment of packages needed for new development (HEAD versions of gcc, qemu, et al)
Long term goals: Establish a communication channel between operating system developers and the groups building foundational components incorporated into operating systems.
- Inaugural meeting held - Dec 5th
- Over 10 attendees
- Reinforced the process of working on the mailing list
- Permissions on documents is a challenge
- e.g. Creating a spreadsheet where users can collaborate requires a lot of manual “Grant access to…” management (if keeping documents within RISE)
- The discussion of compressed instructions has continued in the WG, but the TSC has made it clear this is a decided issue.
Debug and Profiling Projects 2024
User Scenarios | Repo | Status | RISE might contribute | |
Open On-Chip Debugger | on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support | Active development under the lead of Tim Newsome | Need inputs | |
DynamoRIO | instrumentation, binary translation etc. | PLCT lab & SemiHalf: DynamoRIO now has initial support for RISC-V | Extensions other than GC | |
Valgrind | instrumentation, debugging etc. | GC is waiting for upstream and RVV is still in prototype mode | Help review and upstream Enable other extensions | |
SimplePerf | native profiling tool for Android | Atish Patra: There are few moving pieces that need to be straightened out before we can have better support for simpleperf. Until then, we have to rely on SBI PMU & static event encoding for platforms via EVENT_TYPE_TABLE_ENTRY in simple perf |
RISC-V Optimization Guide Discussion and Inputs (10 mins)
30 Nov 2023
Attendees:
- Ammone Chapackdee, Rivos
- Nathan Egg, Google
- Barna Ibrahim, Rivos
- Andrei Warkentin, Intel
- Ludovic Henry Rivos
- Tim Ouyang, Andes
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Brian (Redbeard) Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Paul Walmsley, SiFive
- Andrew (Adlr), Rivos
- Heinrich Schuchrdt, Canonical
- Mason Li, Meditek
- Trilok Soni,
- Wei Wu, ISCAS
- Evan Harrison
Agenda
- New RISE Slack Channel
- RISE GitLab Established
- RFP Updates
- Distro Integration Meeting Update
- System Libraries Deep Dive
- WG Updates
- AIs from last week
RISE Distro Integration Meetings
- Occurring bi-weekly, Tuesdays at 4PM UTC
- We will be creating agendas based on Slack messages and e-mail list traffic.
- Feel free to join to participate. First meeeting is on 12/5 at 8AM PST.
System Libraries Deep Dive
There are 16 slides that Nathan added, he has put this in a separate slide deck. The slide deck can be found here
16 Nov 2023
Attendees:
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Nathan Egg, Google
- Rick Leatherman, SiFive
- Anup Patel, Ventana
- Barna Ibrahim, Rivos
- Andrei Warkentin, Intel
- Ludovic Henry Rivos
- Tim Ouyang, Andes
- Cyril Jean, Microchip
- Jian Xiong, Alibaba
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Victor Costan, Google
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Fei Wu, Intel
- Brian (Redbeard) Harrington, RedHat
- Erich Hanke, AMD
- Gordan Markus, Canonical
- Ming-Yu Hung, MTK
Agenda
- Debug and Profiling Deep Dive
- Optimization Guide Next Steps
- AIs from last week
Debug and Profiling Deep Dive
Valgrind RVV Support
- Petr had the ARM SVE prototype recently and I had the RVV one, now we are discussing a unified solution for both and other vector ISA.
- RVV looks more generic than ARM SVE, e.g. VL in RVV is not expressible by SVE primitives.
- The major concern on RVV prototype from Petr is that it embeds VL into each type and ops, but we need to find a method to figure out the precise size of these types/ops as Valgrind requires.
GDB Simulator - Add Zc support
- Submitted first patch that implements compressed integer instruction set ("c") and semi-hosting for review.
- Finished implementation of F and D instructions, and will start upstreaming these patches soon.
AddressSanitizer
- The dependency on kernel TASK_UNMAPPED_BASE has been addressed
- Upstreaming is working in progress
Challenges
- No new projects proposed for 2024-1H
- Will contact the individuals in private
Optimization Guide Next Steps
- 11/06/2023 - 12/15/2023 Seeking feedback from all RISE members
- 12/15/2023 Inform RVI Optimization coming
- xx/xx/2024 Open up to RISC-V ecosystem - public, git repo, PDF/website/other
WG Opens - RVI server platforms team
- Andrei Warkentin is the chair of the RVI Server Platform TG
- Andrei would like RISE input on recommendations & requirements for this new specification
- Andrei believes system software engineers from RISE members, spanning from silicon to OS experts, are perfectly placed to provide input based on their understanding of workload requirements and long-term trends
- Open Discussion
06 Nov 2023
Attendees:
- Bjorn Topel, Rivos
- Jeff Law, Ventana
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Ludovic Henry, RIvos
- Daniel Barboza, Ventana
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Tomas Anderson, AMD
- Brian (Redbeard) Harrington, RedHat
- Jefro, RedHat
- Ken Unger, Microchip
- Erich Hanke, AMD
- MyungJoo Ham, Samsung
- Barna Ibrahim, Rivos
- Andrew de los Reyes (Adler), Rivos
- Evan Harrison, Linux Foundation
- Amit Pabalkar, Nvidia
- Stefano Stabellini, AMD
- Larry Wikelius, Qualcomm
- Aaron Durbin, Rivos
- Steve Wanless - RedHat
Agenda
- F2F Intros
- Language Runtime Deep Dive
- RFPs
- WG Updates
- Open Discussion
2H2023 Goals: Java
- Backport RISC-V Support to OpenJDK 17 - Completed
- Backport RISC-V Support to OpenJDK 11 - Ongoing
- Pull request at openjdk/riscv-port-jdk11u#3
- Distribute Java 11, 17, 21 with Adoptium - Ongoing
- Lack of hardware, exploring using QEMU for CI machines
- Various compiler optimizations - Ongoing
- Intrinsics, code lowering: TSO, chacha20, unsigned integers division/modulo/compare, copy sign, …
- Porting ecosystem libraries - Ongoing
- zstd-jni, brotli4j, netty, commons-crypto
- lz4-java: library is unmaintained, forking
2H2023 Goals: Go
- Build and Test Go runtime on RISC-V - Ongoing
- Support for hardware feature detection - Ongoing
- Accelerate crypto/md5 - Ongoing
- Integrate RVI Profiles as baseline compilation - Accepted
- rv64g, rva20u64, rva22u64, rva23u64
- No support for C (for now)
- Various compiler optimizations - Ongoing
2H2023 Goals: Python
- Porting ecosystem libraries - Ongoing
- PyTorch, scikit-learn
- Native dependencies: SLEEF, oneDAL, TBB, …
RISE Optimization Manual
- Discussed at last System Libraries sync
- Seeking feedback from all members
- Target hardware: smartphone, laptop, desktop, server; OoO; rv64gv*
- Long-term: public, git repo, PDF/website/other
- It’s collaborative, need your feedback!
WG Updates
- Open Discussion
- Robin Randhawa - Kumar has requested that Robin is on next week's TSC call.
02 Nov 2023
Attendees:
- Bjorn Topel, Rivos
- Ming-Yu Hung, MediaTek
- Jian Xiong, Alibaba
- Jeff Law, Ventana
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Ludovic Henry, RIvos
- Daniel Barboza,
- Fei Wu, Intel
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Sunil L, Ventana Micro
- Terje Bergstrom, NVIDIA
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
Agenda
- RISE and LF PMO Collaboration
- Compilers and Toolchains Deep Dive
- Developer Infrastructure Deep Dive
- Go Runtime RFP
- TSC F2F Agenda
- WG Updates
- AIs from last week
Compilers and Toolchains Deep Dive
GCC – feature freeze for gcc-14 release in ~2 weeks
- Last feature (strided loads/stores) likely landing this week
- Testsuite trends are a slight concern, but expectation is we know why the results differ between Embecosm and everyone else
- Avoid losing track of extension status for incoming arguments has landed
- Avoid creating redundant extensions by querying that extension status when generating comparisons should be landing this week
- Hoping to get extension DCE submitted next week, likely last feature in this space to make gcc-14 feature freeze deadline
- Generic new pass, so need to test and fix bugs across many targets
- Implementation cleanup
- Remaining items will be split off into a 1H2024 project
Autovectorization
- Redundant extension elimination – umbrella for many little subprojects
- Address rewriting – another umbrella for many subprojects
- New target independent pass to simplify complex address computation sequences
- Being a target independent pass meant much higher bar for integration
- Avoids pushing invariant address computations back into loops
- Again, target independent fix, high bar for integration
- Manolis’s patch (VRULL) has finally been integrated
- Register allocation issues have been fixed, reverted and fixed again
- One remaining item (reassociate symbolic address computations) being debugged, still hoping it’ll make it in time for gcc-14 feature freeze
If-conversion
- Eswin has updated their patches, much cleaner now
- Both eswin and VRULL/Ventana variants break x86
- So more debugging & analysis needed. Reasonable chance this will make it in tie for the deadline as well
- Large code model – first drop from Andestech, generally in good shape. Reasonable chance this will make gcc-14 feature freeze
- Target attribute work mostly done, minor API changes in the works
Developer Infrastructure Deep Dive
Introduction
- RISE Build Farm
- Linux Kernel CI Status
- GCC CI Status
- Current Status
- Budget Review
- What We’ve Learned
- Next Steps
- RISE Board Farm
- RISE Developer Tools
- Charter
- The Developer Infrastructure WG focuses on software and services to support open-source developers - both RISE members and the broader open-source community.
- Current Projects
- RISE Build Farm
- In Planning
- RISE Board Farm
- RISE Developer Tooling
Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Google has graciously donated USD 250,000 of cloud computing credits
Status
- Linux kernel pre-commit CI: up and running
- gcc CI: getting started
- Exiting the initial experimental phase
- Moving into production
- Two build farm projects in progress
- Builds the RISC-V Linux kernel https://github.com/linux-riscv/
- “Is this patch Good Enough?”
- Gap: Many post-merge CIs, but no pre-merge
- Patchwork scrapes the mailing lists
- Daemon synchronizes Patchwork <=> Github
- Build/tests on RISE dedicated runners
- Feedback to maintainers, reviewers, and contributors
- All in the open – community involvement
- Sponsors: Björn Töpel (Rivos) and Conor Dooley (Microchip)
Next Steps
- Improve build time/farm utilization
- Today: ~20m per patch
- Expand tests
- More configurations
- Boot tests
- Goal: Release test pre-commit
- Maintainers: “This patch will not break upstream”
- Boot on Real Hardware
- Deep-dive at Linux Plumbers Conference, RISC-V MC, Nov 13
GCC CI Status
- RISC-V GCC https://github.com/riscv-collab/riscv-gnu-toolchain/
- Currently running post-merge CI on non-RISE systems; missing dedicated runners
- Pre-merge CI under development
- Move to dedicated RISE build farm systems is in progress
- Sponsors: Patrick O’Neill & Edwin Lu (Rivos)
Lessons Learned
- Monitoring of system resource usage is key to using resources efficiently
- Regular management of projects is key to ensuring that they are making initial progress
- Broadening the administration base is key to ensuring timely action
Build Farm Next Steps
- Moving from experimental to production phase
- Policies & procedures
- Documentation
- Broader administration base
- Spot instances
- Control machine set up
- Bringing on more RISE WG build projects
- Driven by RISE member sponsors
- Expanding existing Linux and GCC build projects
- Investigating third-party build and test projects
- Investigating external IT
- Future RISE Board Farm integration
26 Oct 2023
Attendees:
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Jian Zhang, BOSC
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Andrei Warkentin, Intel
- Paul Walmsley, SiFive
- Tim Ouyang, Andes
- Brian Harrington,
- Ken Unger
- Terje Bergstrom
- Evan Harrison, Linux Foundation
- Amit Pabalkar
- Andrew de los Reyes, (Adler) Rivos
- Thomas Evensen, AMD
- Nathan Egge, Google
Agenda
- New Member! AMD 🎉
- Simulator Emulator Deep Dive
- RISE TSC Slide for RVI Summit
- New Projects
- WG Updates
- AIs from last week
Simulator Emulator Deep Dive
Agenda
- 2023-2H
- Updates on projects
- 2024-1H
- Overall status
- 2023-2H
- Updates on projects
- QEMU code freeze for new features: Nov 7th 2023
SE_01_002 - QEMU Virtual IRQ and IRQ filtering support
- Moved from “Under Review” to “Queued”
- On track for QEMU 8.2 (Dec 2023)
SE_01_014 - QEMU query-cpu-model-expansion API
- Moved from “Under Review” to “Queued”
- On track for QEMU 8.2 (Dec 2023)
SE_01_011 - QEMU RVA22U64 profile support
- Moved from “Not Started” to “Under Review”
- On track for QEMU 8.2 (Dec 2023)
2023-2H: Updates on projects
- Projects moved to 2024 (not enough time to meet project freeze)
SE_01_003 - QEMU WorldGuard support support
- Status: Not started
- Moved to 1H 2024
SE_01_014 - QEMU IOPMP support
- Status: Not started
- Moved to 1H 2024
SE_01_015 - QEMU RISC-V IOMMU support (new)
- Status: Under review
- First version sent for review in July 2023. No new versions sent
2024-1H: Updates on projects
New projects planned for 2024-1H
- SE_01_003 - QEMU WorldGuard support support
- SE_01_014 - QEMU IOPMP support
- SE_01_015 - QEMU RISC-V IOMMU support
- From 2023 priorities
- SE_01_016 - QEMU linux-user hwprobe kernel parity (new)
- Long term project without deadline
- Valid as long as the kernel hwprobe syscall is being updated
2024-1H: Updates on projects
- List including projects coming from 2023
- RVV performance enhancements
- Vector TCG Host-Native implementation
- Cleanup: remove prematurely merged non-standards
- SLX32 support
- QEMU RISC-V TCG target support
- Vendor extension framework support
- QEMU WorldGuard support*
- QEMU IOPMP support*
- QEMU RISC-V IOMMU support*
- QEMU linux-user hwprobe kernel parity*
- Wiki pages are still pending for most projects
- Projects with (*) has pages
19 Oct 2023
Attendees:
- Michelle Martineau, The Linux Foundation
- Heinrich Schuchardt, Canonical
- Jeff Law,
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Simon Wang, Andes
- Nathan Egge, Google
- Jian Zhang, BOSC
- Randall Bosetti, Google
- Ming-Yu Hung, Mediatek
- Daniel Barboza, Ventana
- Anup Patel, Ventana
- David Weaver, Akeana
- Andrei Warkentin, Intel
- Simon Harvey,
- Wu Fei, Intel
- Gordan Markus, Canonical
- Paul Walmsley, SiFive
- Tim Ouyang, Andes
Agenda
- Welcome BOSC!
- RISE RVI Summit F2F
- RISE 2FTE Reporting
- RISE Social Media Integration
- Kernel and Virtualization Deep Dive
- WG Updates
- AIs from last week
Kernel and Virtualization Deep Dive
- Link to slides
- https://docs.google.com/presentation/d/1a2Ph1nKlet2x2vCpDPks7PA2v61cn0EuUIzJyGByqLQ/edit?usp=sharing
- Agenda
- RVA23 profile extensions
- Updates on discovery
- Overall status
- 2023-2H
- Updates on projects
- Status on priorities
- Overall status
- 2024-1H
- Overall status
RVA23 profile extensions: Updates on discovery
- List of RVA23 profile extensions on wiki in-sync with latest spec
- HWPROBE additions (in past 2 months)
- No change
- In-flight patch series from Rivos adding 30+ extensions to HWPROBE
- KVM ONE_REG additions (in past 2 months)
- Zicsr, Zicntr, Zihpm, Zba, Zbs, Zfencei
- Svbare, Sv39, Sv48, Sv57
RVA23 profile extensions: Overall status
- Total 72 extensions (17-10-2023, wiki)
Kernel HWPROBE (17-10-2023)
- NA - 24 (33.33%)
- TBD - 38 (52.78%)
COMPLETED - 10 (13.89%)
KVM ONE_REG (17-10-2023)
- NA - 19 (26.39%)
- TBD - 27 (37.5%)
COMPLETED - 26 (36.11%)
2023-2H: Updates on projects
- LK_03_002 - KVMTOOL AIA in-kernel irqchip
- Development: Completed, Upstreaming: Completed
- LK_01_032 - Vector extension discovery using HWPROBE
- Development: NotNeeded, Upstreaming: NotNeeded
- User-space can discover supported vector length from CSR WARL fields
- LK_03_004 - KVMTOOL VFIO + irq-bypass support
- Development: NotNeeded, Upstreaming: NotNeeded
- RISC-V specific changes in KVMTOOL not required for VFIO + irq-bypass
- LK_03_010 - QEMU-KVM VFIO + irq-bypass support
- Development: NotNeeded, Upstreaming: NotNeeded
- RISC-V specific changes in QEMU-KVM not required for VFIO + irq-bypass
2023-2H: Status of priorities
- Kernel
- NO ACTIVITY from RISE member
- AIA DT driver upstreaming on-track but kernel irqchip maintainer changes
- AIA ACPI support upstreaming blocked on DT driver
- Being done along with AIA ACPI support
- NO ACTIVITY from RISE member
- Only includes HWPROBE support
- Still blocked on Sdtrig spec but the spec is making good progress
- Zba, Zbb, and Zbs done so only Zbc remains
- Memory Hot(Un)plug
- KASAN support
- Basic ACPI support
- AIA support (DT, ACPI)
- PLIC support (ACPI)
- IOMMU (DT)
- Vector extension support
- Vector crypto extension support
- Native/hosted debug support (aka HW breakpoints)
- Bitmanip extension discovery using HWPROBE
- KVM
- Patches on LKML blocked on AIA DT driver upstreaming
- Work being done in a fork since it depends on AIA DT driver and IOMMU upstreaming
- Waiting for corresponding HWPROBE patches to be upstreamed
- Still blocked on Sdtrig spec but the spec is making good progress
- Zba, Zbb, and Zbs done so only Zbc remains
- Vector extension virtualization
- AIA irqchip (incl. kvmtool and qemu support)
- AIA IMSIC guest file support
- AIA irq-bypass (aka Device MSI virtualization, incl. kvmtool and qemu)
- KVM vector crypto extension virtualization (incl. kvmtool and qemu)
- KVM Native/hosted debug virtualization
- KVM bitmanip extension virtualization (incl. kvmtool and qemu support)
2023-2H: Overall status
- Total 27 projects (17-10-2023, wiki)
Development (17-10-2023)
- TBD - 4 (14.8%)
- KVMTOOL and QEMU-KVM changes waiting for kernel patches
- PROTOTYPE - 2 (7.4%)
- Native/hosted debug blocked on specifications
- ONGOING - 1 (3.7%)
COMPLETED / NOTNEEDED - 20 (74.1%)
Upstreaming (17-10-2023)
- TBD - 8 (29.6%)
- ONGOING - 8 (29.6%)
COMPLETED / NOTNEEDED - 11 (40.74%)
2024-1H: Overall status
- Total 58 projects (17-10-2023, wiki)
- Unassigned - 14 (24.14%)
Development (17-10-2023)
- TBD - 25 (43.1%)
- ONGOING - 6 (10.35%)
COMPLETED - 27 (46.55%)
Upstreaming (17-10-2023)
- TBD - 39 (67.24%)
- ONGOING - 15 (25.86%)
COMPLETED - 4 (6.9%)
05 Oct 2023
Attendees:
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Randall Bosetti, Google
- Nathan Egge, Google
- Daniel Barboza, Ventana
- Felix Freiman, MediaTek
- Sunil V L, Ventana
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Brian Harrington, RedHat
- Anup Patel, Intel
- David Weaver, Akeana
Agenda
- Firmware Deep Dive
- WG Challenges - Open Discussion
- AIs/Opens
Firmware Deep Dive
2023-2H - Firmware Priorities
Completed projects
- EDK2_00_07 - CLANG support
- EDK2_00_08 - Basic MMU support
New projects created / added
- EDK2_00_17 - Extension Discovery - UEFI PI spec change being proposed.
- UBOOT_00_01 - PCIe Passthru - Upstream patch under review.
- SBI_00_01 - Sparse HARTID Support in OpenSBI - Upstream patches under review.
Development Completed
- EDK2_00_16 - Svpbmt support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_09 - CMO support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_06 - SSTC support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_01 - MultiArchUefiPkg - Validation completed by two semiconductor companies.
Long-term Projects
- EDK2_00_02 - StandaloneMmPkg - RPMI spec updates proposed, initial evaluations done, Patches to unify ARM and RISC-V code.
- TFM_00_01 - Secure Bootloader
2024-1H - Firmware Priorities
- Need to create wiki pages for individual projects.
- Firmware-first RAS error handling
- Being discussed / specification changes proposed in RVI forums.
PoC in progress.
- Universal Payload (UPL) specification impacts on various FW
- Ecosystem Enablement
- EDK2 support being added on vendor hardware platforms.
- Sophgo SG2042 and MILK-V Pioneer.
- StarFive VisionFive 2.
- Intel and Ventana helping to upstream the support.
28 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Evan Harrison, The Linux Foundation
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Randall Bosetti, Google
- Tim Ouyang, Andes
- Nathan Egge, Google
- Daniel Barboza, Ventana
- Felix Freiman, MediaTek
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Fei Wu, Intel
- Anup Patel, Intel
- David Weaver, Akeana
- Andrew De Los Reyes
- Jeff Law
- Kris Murphy
Agenda
- TSC Chair Update
- System Libraries Deep Dive
- libjpeg turbo Proposal
- WG Updates
- Board Meeting Recap
- AIs from last week
- Future Topics
- FW Deep Dive (next week)
- RFP Project Review
- TSC Update Preso for RVI Summit
System Libraries Deep Dive
- RVV optimization best practices under QEMU
- may be possible with custom plug-ins
- After testing, found its not possible to reliably measure cpu cycles with stock QEMU
- RISC-V developer VM can be used effectively for CI / CD correctness testing
- Multimedia optimization proposal approved by RISE GB
- Initial focus on optimizing H.264 decode (ffh264dec and libswscale)
- Met with FFmpeg developers last week and there is strong interest in working on RISC-V
- More clarity about how to target RISC-V optimization within the broader SW ecosystem
- Agreed to target out-of-order AP cores only (in-order cores are out of scope for tuning)
- RVV 1.0 specification requires 128-bit vector length as a minimum for AP, safe to assume this when designing algorithms
- Closer review of future projects shows custom optimizations not necessary, just verification
- libopus takes advantage of auto-vectorizer to handle many functions
- Similar code in libspeexdsp for inner-product functions
libjpeg turbo Proposal - review
- ibjpeg turbo Proposal
- Open discussion on concerns
- Email shared with TSC chairs - details from libjpeg turbo
21 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Evan Harrison, The Linux Foundation
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
- Nathan Egge, Google
- Daniel Barboza, Ventana
- Felix Freiman, MediaTek
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Fei Wu, Intel
- Anup Patel, Intel
- David Weaver, Akeana
Agenda
- Debug and Profiling Deep Dive
- Language Runtimes Deep Dive
- WG Updates
- AIs from last week
Debug and Profiling Deep Dive
Activities
- Had WG meeting on Sep 12
- Added DP_01_003 for 2023-2H
Projects Status Updates
- All RVV instructions except floating-point and fixed-point have been enabled
- Implemented simulation of compressed integer instructions and testing is in progress
- Code is ready, but depends on kernel to define TASK_UNMAPPED_BASE for 32bit RISC-V
- I saw it’s upstreamed, need to confirm with the owner
Got the current status of these tools
- DP_00_001 - Valgrind vector support
- DP_01_003 - GDB Simulator - Add Zc support
- DP_05_001 - Address Sanitizer (for 32bit)
- DP_04_001 - Userspace Cycle/Instret access
- Evaluate GDB/LLDB/OpenOCD
2024-1H Plan
- Simpleperf, Valgrind, Perf CTR, OpenOCD - Not finalized
- Challenges
- More projects
Language Runtimes Deep Dive
Scope (refresher)
- The Languages identified to focus by Rise Members - Java (OpenJDK), Go, Python, Android Runtime, .NET Runtime
- Build and test on RISC-V Hardware
- Accelerate the runtimes
- Add support to most common libraries
2H2023 Goals:
- Java - Backport RISC-V Support to OpenJDK 17 - Completed
- Java - Backport RISC-V Support to OpenJDK 11 - Ongoing
- Pull request at openjdk/riscv-port-jdk11u#3
- Java - Distribute Java 11, 17, 21 with Adoptium - Ongoing
- Lack of hardware, exploring using QEMU for CI machines
- Java - Various compiler optimizations - Ongoing
- Go - Build and Test Go runtime on RISC-V - Ongoing
- Go - Support for hardware feature detection - Ongoing
- Go - Accelerate crypto/md5 - Ongoing
- Go - Integrate RVI Profiles as baseline compilation - On hold
Proposal about RVI profiles
- Go - Various compiler optimizations - Ongoing
Challenges
- Access to machines for CI (boards and/or QEMU+x86)
- User-space emulation too “weird” for some applications (application says riscv, kernel and /proc says x86)
- Slower per-core, but can do 64+ cores. Great for parallelizable testing, terrible for single-core tasks (ex: linking)
- Still faster than fastest RISC-V board (ex: VisionFive 2), also supports V and other extensions
- Exploring using QEMU+x86 for lack of performant RISC-V boards
- Need to use QEMU System Emulation
- Uncertainty about RVI profiles:
To C or not to C
- Most problematic in Go - AOT compilation
- We don’t care that anyone adds support for it, but it’s hard to say “it can’t be part of the baseline profile”\
- Low engagement in WG
- Plenty of actions happening in upstream communities
- But, little to no engagement in RISE WG mailing lists and meetings
Discussions
- Involved in RVI J-Extension WG
- Bringing JIT expertise for spec definition
- Trying to figure out usability and usefulness for Concurrent GCs
- Zjid - I/D Cache Coherency
- Zjpm - Pointer Masking / Memory Tagging
- Interest in nodeJS.
- Employee from RedHat
14 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Evan Harrison, The Linux Foundation
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
- Nathan Egge, Google
- Kris Murphy, Red Hat
- Daniel Barboza, Ventana
- Trilok Soni, Qualcomm
Agenda
- RVI Nov Summit: RISE F2F
- RISE TSC Changes
- WG Updates/Challenges
- RFP Update
- AIs from last week
RVI Nov Summit: RISE F2F
- Opportunity for team building at RVI November Summit
- Monday November 6th
- 2:00pm-3:00pm TSC
- Location NVIDIA
- RISE TSC meeting:
- Then join RISC-V Member Day and Reception at 5:00pm
- Register to attend no later than 10/15
RISE TSC Changes
- Andrie Warkentin will be stepping down from the TSC Chair position and a nomination period will open later today with Lars Bergstrom acting as Election official.
07 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Ludovic Henry, Rivos
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Simon Harvey, Imagination
- Fei Wu, Intel
- Felix Freimann, MediaTek
- Anup Patel, Ventana
- Evan Harrison, The Linux Foundation
- Jian Xiong, T-Head
- Jeff Law, Ventana
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
Agenda
- Upcoming Events
- WG Updates
- AIs from last week
Upcoming Events
- Roll call for RISE attendees/representation and discussion around activities (if needed)
- UEFI FALL 2023 DEVELOPERS CONFERENCE & PLUGFEST (Oct 9-12) - Hillsboro, OR: couple firmware projects, RISE plug.
- LF Member Summit (Oct 24-26) - Monterey CA
- RVI NA Summit (Nov 7-8) - Santa Clara CA
- TSC F2F meeting - Nov 6, location TBD
- RISE Lounge - more details to come
- LPC - Linux Plumbers Conf (Nov 13-15) - Richmond VA
- RISC-V MC - plug for RISE; GCP Instance running Kernel CI
Any other events to consider?
WG Updates
RISE Position on RVI Profile Gaps
- The RISC-V Software Ecosystem (RISE) project focuses on commercial software readiness for RISC-V. Member companies include both OS and hardware vendors spanning the mobile, consumer electronics, datacenter, and automotive markets. RISE is not responsible for specifying the RISC-V ISA but does have a vested interest in ensuring the ISA has features that enable commercial software markets. Towards that end, we have developed the following position statement on RVI Application Profiles (e.g., RVA22).
31 Aug 2023
Attendees:
- Andrei Warkentin, Intel
- Ludovic Henry, Rivos
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Chris Smith, Imagination
- Kris Murphy, Red Hat
- Fei Wu, Intel
- Daniel Barboza, Ventana
- Felix Freimann, MediaTek
- Anup Patel, Ventana
- Raul Xiong, T-Head
- Brian Harrington, RedHat
- Jeff Law, Ventana
- Kumar Sankaran, Rivos
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
- Randall Bosetti, Google
- Tim Ouyang, Andes
Agenda
- Compilers and Toolchains Deep Dive (Jeff Law)
- RFP Process (Ammone)
- WG Challenges
- AIs from last week (go over assorted notes from last week)
Compilers and Toolchains Deep Dive (Jeff Law)
Status
- Tracking ongoing projects in GCC and LLVM upstreams
- Primarily 2023 work, but a bit of 2024 stuff
- Weekly updates to the wiki
- LLVM 17 (Fall 2023) and GCC 14 (Spring 2024) targets for 2023 work
- Coordination primarily through existing upstream meetings rather than RISE specific meetings
- Haven’t started standing up POC CI/CD for GCC and LLVM using RISE resources
- Should have been trivial, but I’ve just been crazy busy last 2 weeks
Scope
- Primary focus on GCC and LLVM projects
- Code optimization
- Solve various problems for downstream consumers (distros)
CI/CD
- Binary distribution of cross toolchains to other developers
- Occasionally covering binutils or glibc when there’s clear overlap
- Fairly natural as many of the developers are active in closely related projects
- Expecting to touch on other areas such as debugges, profilers, system libraries, distros, etc on an as-needed basis
Priorities
- Code Optimization
- Clear need to support/improve autovectorization
- Other extensions as they land (Zfa, Zicond, etc)
- Other targeted improvements based on benchmark analysis
- Address compatibility issues to ease distro consumption issues
- Fix atomics to be compatible across toolchains, including inlining subword atomics
- Other ABI concerns WRT gp relaxation, vector, shadow stacks, large code model, etc – closing loops with RVI PSABI WG
Support other groups
- Backtracing w/o dwarf unwind tables for firmware and profilers
- System libraries via ifuncs, function multiversioning, etc
- Binary distribution of cross compilation toolchains
Challenges
- Hardware access
- Bootstrapping & testing GCC takes ~28 hours, without testing the various extensions – QEMU user mode emulation, 40c systems, “primary” GCC targets on modern hardware – 1 hr
- Benchmarking is virtually impossible outside a very small group of developers due to lack of hardware
- Compiler community involvement
- Much of the GCC development coordination effort falling on my shoulders
- I’m struggling with visibility into upstream LLVM work
24 Aug 2023
Attendees:
- Andrei Warkentin, Intel
- Andrew De Los Reyes, Rivos
- Kris Murphy, Redhat
- Trilok Soni, Qualcomm
- Ammone Chapackdee, Rivos
- Brian Harrington, RedHat
- Amit Pabalkar, NVIDIA
- Daniel Barboza, Ventana
- Jeff Law, Ventana
- Jenn Bonner, Linux Foundation
- Kumar Sankaran, Rivos
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
- Randall Bosetti, Google
- Simon Harvey, Andes
- Tim Ouyang, Andes
Agenda
- Assorted Notes (Andrei)
- Distro and Integration Deep Dive (Brian Harrington)
- WG Challenges?
- AIs from last week
Distro and Integration Deep Dive (Brian Harrington)
Status
- Assembling an entire distro exists as a race condition:
- Some truly are waiting for systems with vector processing, et al
- Most are folks used to building things on the OS, not the OS itself. This leads to confusion because it straddles vendor and upstream work.
- Some developers are waiting to have “hardware available”.1
- Other developers are see the large numbers of compiled packages and assume work nears completion. (“90% of packages successfully compile)
- Yet others are (rightfully) noting that the stability and performance of hardware is “not ready” or “too slow”, but this is a matter of perception.
- The work proceeding at the fastest pace is that driven by single members with a clear vision and need (e.g. Fedora which is currently receiving direct contributions from RISE members: Rivos & Red Hat).
Scope
- Currently the scope of projects is still mostly focused at a single member level.
- There are exceptions, like Nathan Egge from Google proposing a straw man Gentoo build for the community.
- Non-member updates continue to be monitored by Redbeard.
- Debian is at the early stages of development (they’re discovering odd issues in fakeroot and other packages which are causing systemic build issues).
Priorities
- Member companies proceed independently with the hope of later coordination
- Samsung has been reporting regular progress on Tizen
- Red Hat continues to see interest around automotive use cases, but this will require a multi-year timeline around achieving functional safety certification (i.e. ISO 26262 certification) for anything related to RISC-V
Challenges and Needs
- Ambiguity about working group participation has lead to sporadic participation from community members. We languish with the awkwardness of trying to coordinate communities from behind closed doors.
- There seems to be trepidation about “not doing the right thing” or “stepping out of [a members] lane”. This is a missed opportunity for identifying the organization’s blind spots.
- More hours in the day to complete what needs to be done. 😁
10 Aug 2023
Attendees:
- Andrew De Los Reyes, Rivos
- Andrei Warkentin, Intel
- Mason Li, Mediatek
- Jeff Law, Ventana
- Jenn Bonner, Linux Foundation
- Michelle Martineau, Linux Foundation
- Daniel Barboza, Ventana
- Paul Walmsley, SFive
- Tim Ouyang, Andes
- Simon Harvey (Imagination)
- Kumar Sankaran, Rivos
- Ammone Chapackdee, Rivos
Simulation and Emulation WG Deep dive (Daniel Barboza)
Agenda
- Status
- Scope
- Priorities
- Challenges and needs
Status
- The Working Group is committed solely to QEMU at this moment
- QEMU supports RISC-V for 6 years, but advanced features, new extension/feature support and ecosystem enablement need focused efforts.
This Working Group focus on:
- Collaboration to avoid duplication of work
- Ecosystem enablement
- Add support for new extensions and features
- Bridge gap between QEMU RISC-V support and other mature architectures like x86 and ARM64
- WG meets first Wednesday of every month at 7AM PT.
Scope
- QEMU virtualization support (KVM and Emulated)
- Full system emulation mode
- KVM support: shared goal with Kernel and Virtualization WG
- Emulation support: required to support virtualization development when hardware is not readily available
- QEMU linux-user support
- "Docker mode": binaries are run in the target environment (architecture/chip/board)
- Use by Toolchain/general application development
Priorities for 2H23 (Q3 & Q4 2023)
- Based on deduplicated projects with highest priorities, WG selected:
- QEMU linux-user riscv_hwprobe syscall support
- Already accepted. Will be available in QEMU 8.1 (to be released this month)
- QEMU Virtual IRQ and IRQ filtering support
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- QEMU PCIe passthru on x86 hosts
- Patches sent for review. Design discussions happening
- QEMU Vector Crypto Support
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- QEMU ACPI support for AIA
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- QEMU ACPI support for PLIC
- Upstreaming not started
- Requires ACPU support for AIA to be accepted first
- QEMU RVA22U64/S64 profile support
- Upstreaming not started
- QEMU IOPMP support
- Upstreaming not started
- QEMU WorldGuard support
- Upstreaming not started
- Other projects worked on by RISE members tracked in the wiki and spreadsheet
Priorities for 1H24 (Q1 & Q2 2024)
- QEMU
- RVV performance enhancements
- Vector TCG Host-Native implementation
- Cleanup: remove prematurely merged non-standards
- SLX32 support
- Vendor extension framework support
Challenges and Needs
- Promote more participation in the community mailing lists
- More tests and reviews
- Avoid long delays in posting follow-up versions
- Include more simulators and emulators
- 2 Spike projects in the spreadsheet without owners/ETA
- Other open source projects (e.g. gem5) that might be of RISE interest
AIs from last week
- scaling back weekly WG updates (but everyone can put a problem they are having on the agenda at any time, not having to wait for a WG deep dive)
Discussion/Questions:
- Jeff Law and Andrew De Los Reyes prefer not to have weekly updates in favor of deeper conversation on the deep dives. The group agreed.
Update on Build Farms
- Cloud environments are being established through LF, Google credits are pending.
- Paul Walmsley provided a timeline for the Build Farm Project
- Cloud instance is where we are stuck.
Compiler/Toolchain Working Group
- LLVM project more release than development focused (as expected)
- PSABI proposal to provide unified attribute across LLVM/GCC to control architecture specifications for function multiversioning and optimization
- GCC auto vectorization – improving code when we know loop trip counts and for loops with control flow that maps well into masked vector ops
- GCC address rewriting to eliminate unnecessary arithmetic
- WIll spin out at least two more small efforts to optimize away unnecessary arithmetic involving stack addresses
- More generally useful of the two major bodies of work (targets 3-4 workloads within specint)
- Work targeting leela integrated as well as work fixing deficiency in copy propagation found while evaluating leela work
- 3rd version of new fold-mem-offsets pass posted. 4th will be needed
- zicond/if-conversion – improve performance by using branchless sequences for various idioms (conditional moves, conditional arithmetic/logicals, etc)
- Costing model still goofy – may spin subproject for this
- Unification of target patterns from 4 submissions integrated
- Diving into 3 implementations of enhancements to generic if-conversion
03 Aug 2023
Attendees:
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Ludovic Henry (Rivos)
- Felix Feeman (Mediatek)
- Ammone Chapackdee (Rivos)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Jenn Bonner (The Linux Foundation)
- Sunil V L (Ventana)
- Andrei Warkentin (Intel)
- Anup Patel (Ventana)
- Drew Fustini (BayLibre)
- Michael Turquette (BayLibre)
- Simon Harvey (Imagination)
- Tim Ouyang (Andes)
- Fei Wu (Intel)
Agenda
Firmware Deep Dive (Sunil VL) (Status/Scope/Priorities/Gap Analysis/Challenges)https://docs.google.com/presentation/d/1tcfjcTys7SoYE_sDqPwwe1ozUm36Ixy8-dSLCvy_4Zk/edit?usp=sharing
Firmware WG Status
- Basic Open Source Firmware Solutions for RISC-V already present. However, advanced features, new extension/feature support and ecosystem enablement need focussed efforts.
The RISE effort will focus on
- Collaboration to avoid duplication of work
- Ecosystem enablement
- Add support for new extensions and features using virtual platforms.
- Make it easy for new platform vendors to support the firmware solution.
- Bring gaps in standards/spec to RVI TG or appropriate Industry standard body.
Focus: Accelerating RISC-V adoption by upstream developers
- Firmware WG meets first Wednesday of every month at 8AM PT.
Firmware WG Scope
Different Open Source Firmware projects are available. Current RISE focus is on below projects.
EDK2 (a.k.a Tianocore)
- Reference implementation of complete UEFI specification and UEFI PI specification.
- Supports all the features like ACPI required by the Server class platforms.
- Supports Qemu virtual platform.
OpenSBI
- Reference implementation of RISC-V SBI specification.
- Dominant M-mode firmware solution today.
TF-M equivalent for RISC-V
- Provide a secure boot implementation for RISC-V microcontrollers and other embedded processors, typically running in M-mode or M+U-modes.
Priorities for 2H23 (Q3 & Q4 2023)
- Based on deduplicated projects with highest priorities, WG selected:
- Support basic MMU (Sv57 etc) first and then Svpbmt
- It is a dependency for MultiArchUefiPkg
- Long term project to provide secure EFI variable access, secure boot etc.
- Depends on APTEE/ COVE specs.
- Support CBO extensions (Zicbo*) in EDK2 for cache management
- SSTC Support in EDK2
- CLANG support in EDK2
- Big ask from senior EDK2 maintainers maintaining common modules across architectures.
- CLANG doesn’t need to be different to cross build EDK2 for different architectures.
- Upstreamed this week.
- Provides a secure boot implementation for RISC-V microcontrollers and other embedded processors.
- MultiArchUefiPkg
- Ability to run non-native UEFI drivers.
- Required for OptionROM.
- MMU Support in EDK2
- StandaloneMMPkg in EDK2
- CBO extension support in EDK2
- Support SSTC extension for timer implementation in EDK2.
- TF-M secure bootloader for RISC-V
Other projects worked on by RISE members tracked in the wiki and spreadsheet
- Andrei Warkentin (Intel): minor clarification - MultiArchUefiPkg enables existing and future off the shelf discrete PCIe devices to "just work" in the UEFI boot/preboot envo on RISCV PCs and servers.
Priorities for 1H24 (Q1 & Q2 2024)
- EDK2
- Backtrace support
- UefiPayloadPkg
- StandaloneMMPkg
- DynamicTablesPkg
- EasyDriversDxe
- FdtBusDxe
- CompilerIntrinsic Libs
- Build Size reduction
- Firmware First RAS handling
- OpenSBI
- RAS/SSE
- Sparse HartID support
- Native/hosted debug support
- TF-M Run time features
Gap Analysis
- StandaloneMMPkg project has identified few dependencies on COVE spec changes and implementation
- Discussion with COVE/APTEE leads in progress
- Coreboot / linuxboot related project proposals from member companies.
- clarification - FdtBusDxe allows EDK2 to make use of device trees?
- fdtbusdxe allows platform drivers to follow the uefi driver binding model instead of just hardcoding some mmio address at build time, so yes using fdt to configure drivers on the fly - just like uboot does today – the net goal here is to make it easier to port edk2, but also to avoid having to do separate builds for minor board/soc variations
Challenges
- Build and test system for EDK2.
- Request for 1 node added in Build Farms proposal.
- Not urgent, so not required to be part of rapid build farm pilot.
- BayLibre Presentation
Michael Turquette – joined by Drew Fustini (BayLibre)
- WG Updates (not discussed due to time constraints, but updates listed in slides)
- System Libraries Working Group
- Released updated RISC-V developer environment [1]
- Fixed QEMU user bug with getauxval() and sent patch upstream [2]
- Wrapped qemu-riscv64 to pass -cpu rv64,v=true,vext_spec=v1.0
- Bumped toolchain package versions
- gcc-13.2.0 (2023-7-27)
- cmake-3.27.1 (2023-7-25)
- Larger disk image, ~74M smaller download
- libyuv RVV bug fixed upstream, pulling into AOSP surfaced clang rounding issue [3]
- Fixed minor warnings when building gcc-13.2.0 riscv/atomic.c [4], patch in flight
- Started “Best Practices” document for RVV development and optimization
Simulator Emulator Working Group
- WG monthly meeting yesterday
- Covered general updates
- New project added:
- Assignee: Daniel Barboza (Ventana)
- ETA: end of 2023 (QEMU 8.2)
- SE_01_011 - QEMU RVA22U64/S64 profile support
- Language Runtimes Working Group
- Support for hardware feature detection
- Go: in progress
- MD5 Intrinsics
- OpenJDK: done
- Long-time contributors to Go on RISC-V may do contract work for RISE
- Kernel and Virtualization Working Group
- Development completed and v1 patches will be out soon
- Development completed and upstreaming started (patches)
- LK_01_002 - ACPI support for PLIC driver
- LK_03_002 - KVMTOOL AIA in-kernel irqchip
- Firmware Working Group (deep dive, see above)
- Distro and Integration Working Group
(No update provided)
Debug and Profiling Working Group
- SiFive added simpleperf, which is primarily used on Android
- Andes updated the status of gdb/lldb on RISC-V
Compiler/Toolchain Working Group
- Crazy busy week. Update just GCC focused
- Vectorization work continues – dynamic rounding, x264 specific opts, ABI annotations, etc).
- Atomics – Ztso bits landed in GCC, PSABI moving forward on this issue
- a.6/a.7 mappings got lost in the gcc-13.2 shuffle. Rescheduled for gcc-13.3 in the winter
- Address rewriting – path forward for Jivan and Manolis’s work found. Closing investigation phase of adjusting large offset addresses
- Zicond moving along. Cost model problem deeper than anticipated, may spin out distinct task for that. May spin out some generic work that will allow zicond to slightly improve CRC computations (when not using clmul or table lookups)
- Bugs highlighted need for testing code generation of various extensions
- Rivos indicated they’re using free github runners – working better than expected. Need to figure out how that fits into the overall CI plan
- Scaling back WG updates
The original value prop behind the weekly WG updates was motivated by two needs:
- Having something “to do” and talk about in the weekly TSC calls.
- Having the necessary sync-ups as the TSC spun up to prepare the 2H23 priorities for the Board
- Now we have weekly deep-dives and other material (external guests/presos or project reviews). Do we still want to continue with the weekly WG updates? Is this a useful tool for the leads?
27 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Mason Li (Mediatek)
- Trilok Soni ( Qualcomm)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Ludovic Henry (Rivos)
- Felix Feeman (Mediatek)
- Elliot Hugues, (Google)
- Ammone Chapackdee (Rivos)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Michelle Martineau (the Linux Foundation)
- Jenn Bonner (The Linux Foundation)
Agenda
- System Libraries Deep Dive (Nathan Egge)
System Libraries WG Status
- Large set of system libraries already build and run on RISC-V, however core optimization work is stalled due to lack of clear targets, available hardware, extension expertise, broken tooling and developer funding.
The RISE effort will focus on
- Collaboration to avoid duplication of work
- Ecosystem enablement
- Engage OSS community to understand, remove blockers to RISC-V development
- Produce “Best Practice” guides, developer & testing environments, CI/CD scripts
- Identify key areas for investment: multimedia, AI/ML, scientific computing, HPC, …
- Developer access to representative hardware
Focus: Accelerating RISC-V adoption by upstream developers
- System Libraries WG meets every other Tuesday @ 8am PT - Please join us!
Scope
- Extremely large: Potentially 1000’s of OSS projects need RISC-V code
- Not possible for RISE to enable entire ecosystem, in some cases lack domain expertise
- Focus on open source software for Linux (covers large set of users)
- Only consider RVI ratified extensions, e.g., intentionally not supporting RVV 0.7.1
- Work to enable RISC-V support for RISE high priority projects [1]
- Find ecosystem dependencies on other WGs, file and fix bugs upstream
- Document best practices, publicize RISE priorities, community outreach
- Solve enablement problems where developers are. Need to unblock existing projects
[1] 2023 H2 Priorities
- Extremely large: Potentially 1000’s of OSS projects need RISC-V code
- Not possible for RISE to enable entire ecosystem, in some cases lack domain expertise
- Focus on open source software for Linux (covers large set of users)
- Only consider RVI ratified extensions, e.g., intentionally not supporting RVV 0.7.1
- Work to enable RISC-V support for RISE high priority projects [1]
- Find ecosystem dependencies on other WGs, file and fix bugs upstream
- Document best practices, publicize RISE priorities, community outreach
- Solve enablement problems where developers are. Need to unblock existing projects
- [1] https://lf-rise.atlassian.net/wiki/display/HOME/2023+H2+Priorities
Priorities for 2H23 (Q3 & Q4 2023)
- Based on deduplicated projects with highest priorities, WG selected:
- Glibc
- Bionic
- Openssl
- BoringSSL
- Zlib
- Other system libraries worked on by RISE members tracked in the wiki and spreadsheet
Gap Analysis for RISC-V Ecosystem
- Identified need to target a specific ABI
- Combinatorial explosion of configurations not tractable for testing
- Ecosystem has limited ability to optimize for RISC-V
- RISE (this WG) should make a decision and publicize it
- May require coordination with Distro Integration WG
- Request for turn-key development environment
- Combination of QEMU + Kernel + Distro with all extensions and features enabled
- Suitable for building, running and testing RISC-V code in repeatable fashion
- Could also be repurposed for CI / CD on github or gitlab
- Address near-term problem of patches not landing due to inability to test
- Possible to wrap this with scripts that permute RISC-V hardware, e.g., RVV length
Developer Environment Update
- Stood up QEMU + Kernel + Distro developer environment [1]
- QEMU 8.0.3
- Linux 6.5.0-rc3 (2023-7-23)
- Gentoo userspace
- Source based, rolling release distro => easy to make and build packages
- Contains developer tools by default, perfect to build OSS projects
- Up-to-date developer tools, non-exhaustive list:
- clang-16.0.6 (2023-6-14)
- gcc-13.1.1 (2023-5-5)
- git-2.41.0 (2023-6-1)
- python-3.12.0_beta4 (2023-7-11)
- rust-1.71.0 (2023-7-12)
- cmake-3.27.0 (2023-7-18)
- make-4.4.1 (2023-2-26)
- ninja-1.11.1 (2022-8-30)
- flex-2.6.4 (2022-9-24)
- bison-3.8.2 (2021-9-21)
- Pros: easy-to-use, up-to-date Cons: qemu-system is slow
Developer Environment Kernel
nathan@vulpes ~/git/linux $ ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- make menuconfig
Developer Environment Booting
nathan@vulpes ~/RISE/DevEnv $ qemu-system-riscv64 -nographic -machine virt -cpu rv64,v=true,vlen=256,elen=64,vext_spec=v1.0 -smp 4 -m 8G -kernel Image -append "root=/dev/vda1 ro console=ttyS0" -drive file=gentoo.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::10001-:22 -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0
Gap Analysis for RISC-V Ecosystem (needed)
- Best practices guide for optimizing RISC-V
- How to translate existing packed SIMD to length agnostic RVV
- Techniques to “validate” speed-up even in emulated environment, e.g. perf record
- Preferred mechanism for runtime RISC-V detection
- Pitfalls, gotchas to avoid “Things I wish I knew when I first started writing RISC-V”
- Analyze dependency graph of linux packages
- Look at top-K most depended on packages
- Estimate “cost” for producing optimized routines by % SLOC of assembly
- Potentially cluster these into related project areas, e.g. multimedia, AI/ML, HPC
- Need for actual RISC-V hardware
- Is there an interim solution we can document for performance testing?
- May not be sufficient to just target QEMU when writing RISC-V optimizations
- No suitable hardware currently available that matches ABI target
- RISE (this WG) should make hardware available to OSS projects from top-K list
Challenges
- Important APIs still not released upstream
- RVV extension landed in 6.5 kernel
- hwprobe() will not be exposed by glibc until 2.39 in Q1 2024
- Immature tooling
- QEMU support for RISC-V still has gaps
- Debugging support limited
- Even projects that advertise RVV support have bugs, see libyuv [1]
- This is likely a bigger problem as no one is “checking” quality of implementations
- Need to convince upstream to build and test yet another ISA
- OSS projects notoriously underfunded and overtaxed, align on open ideology?
- https://github.com/google/android-riscv64/issues/38#issuecomment-1652515652
Runtime Detection in QEMU Bug [1]
#include <sys/auxv.h>
#include <stdio.h>
#define ISA_V_HWCAP (1 << ('v' - 'a'))
void main() {unsigned long hw_cap = getauxval(AT_HWCAP);
printf("RVV %s\n", hw_cap & ISA_V_HWCAP ? "detected" : "not found")
https://gitlab.com/qemu-project/qemu/-/issues/1793
Case Study: libjpeg-turbo
- Builds for RISCV, but has no SIMD
- Case Study: libjpeg-turbo
- Unit tests fail on RISCV
Case Study: libjpeg-turbo
- https://github.com/libjpeg-turbo/libjpeg-turbo/issues/620
- Developer interested
- Does not have funding
- Can RISE fix this?
Next Steps
- outreach
- working on 3 identified gaps
WG Updates
Simulator Emulator Working Group (Daniel Barboza)
- WG leader talked about RISE in the QEMU SIG meeting yesterday
- People showed interest in how outsider could also collaborate/join meetings and mailing lists
- "If meeting notes are in the wiki page, and the wiki is open, doesn't it mean that the meeting should also be open?"
- We settled to keep using this QEMU SIG timeslot to talk about RISE related work in the future
- Developer Infrastructure Working Group (Paul Walmsley)
- Working group established. subscribe mailing list here; The Wiki page for this group has also been created and can be contributed to Here.
- WG Lead: Paul Walmsley; Barna Ibrahim
- Proposal to the board has been approved
- Enabling Kernel & KV WG and Compiler WG
- Using GCP with Google Support
Next Steps
- Monitor, evaluate Build Farm usage from 2 Working Groups.
- Propose Build Farm next steps to BoD in mid November
- Start RISE TSC RISC-V Board Enablement needs effort
- Inviting Open Source Project contributors (Barna Ibrahim)
- Board Supported to have TSC decide to invite open source maintainers to specific WG.
- Board Ask 1) Process 2) Keep a list
- A lot of RISE prioritized initiatives are on specific Open Source projects. TSC Working Groups need a path to communicate and engage directly to maintainers/developers for their respective open source projects.
- Currently the public/developers only sees the wiki and no two way engagements.
- A TSC’s or WG ability to invite/add an organization (An open source project maintainer/delegate) to the specific working group mailing list and meetings. For example, right now the Distro WG needs to have a path to communicate with the is Debian maintainers.
- Challenge
- Request
- Can this be decided on TSC or WG level for each invitation or does each of the invitation need to come to Governing Board?
- Contractor Engagement Process - 7/27 BoD (Barna Ibrahim)
Goals
- Define a streamlined process for selecting contractors that can help us with RISE TSC priorities
- Provide transparency in our engagement process
- Focus on projects with clear deliverables
- Request for Proposals (RFP)
- Driven by Working Groups, approved by the Governing Board
- Published for the public on to submit bids
- WG recommends a proposal and the board votes to approve
Next Steps
- Set up communication channels with the public (wiki, mailing lists, etc)
- Publish our template for RFPs
- Work with LFEU on the details of setting up contracts and payments
Language Runtimes Working Group ( Andrew De Los Reyes)
- Summer vacations, large slowdown in contributions to projects
- Support for hardware feature detection
- Discussions about RISC-V profiles on golang/go#61476
- Patch 1 of 4 merged
- Go: in progress
- Long-time contributors to Go on RISC-V may do contract work for RISE
Kernel and Virtualization Working Group (Kumar Sankaran)
- No updates from previous meeting
Firmware Working Group (Kumar Sankaran)
- StandaloneMMPkg
- Staging branch published - https://github.com/tianocore/edk2-staging/tree/RiscV64StandaloneMm
- CLANG support
- Waiting for maintainer ACK. Hope to get included in August EDK2 release.
- Preparing deep dive slides.
Distro and Integration Working Group (Brian Harrington)
- No new work to speak of.
- Community updates noted on the wiki:
- Wipe and start over beginning with 90 packages:
- The procedure is to rebootstrap the port within the official archive, which means we won't import the full debian-ports archive. Therefore our next step is to build a minimal set of ~90 source packages using the debian-ports archive and then import them into the official archive.
- Debian announces official support, target 2025.
- Redbeard will be on PTO the next two meetings. Do we need coverage?
- Action item: Redbeard will send any needed updates to mailing list.
Debug and Profiling Working Group (Ammone Chapackdee)
Presented to TSC and Board DP WG Deep Dive 7.27.2023
- Tasks ownership
- Dependency/overlap with other WG
- Andes will look for an internal owner for this
- eBPF
- gdb/lldb
- Start a WG meeting
- Update wiki
- Overall positive feedback
- Community Engagement
Compiler/Toolchain Working Group (Jeff Law)
- GCC
- Double digit improvements in Imagemagik due to generic vector work
- Low level vector refactor seems to be improving build times ~10%
- Better understanding of how VRULL & RAU’s address simplifications will interact
- Sorted out roughly 75% of basic Zicond support across the 3 “competing” implementations
- LLVM
- LLVM 17 branch imminent – last ~6 months of LLVM RV work going public
- Large code model – need Zicfiss extension in spike to facilitate validation
- Some discussions around FTZ semantics for denorms (need it or not?)
- Zvfh support no longer considered experimental
- Binary toolchains
- Would like to know if building with the new branch is working with LTO
- Do we want to have links to Simon’s work on the RISE website
- How to drive folks this this version rather than others that are out there (gitlab).
20 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Andrei Warkentin (Intel)
- Ludovic Henry (Rivos)
- Felix Feeman
- Ammone Chapackdee (Rivos)
- Sunil VL (Ventana)
- Uli Drepper ( Red Hat)
- Anup Patel (Ventana)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Simon Harvey (Imagination)
- Fei Wu (Intel)
- Tim Ouyang (Andes)
- Ammone Chapackdee (Rivos)
- Michelle Martineau (the Linux Foundation)
Agenda
Debug and Profiling Deep Dive (Fei Wu)
Debug and Profiling WG Status
- RISE members have dedicated efforts on some debug and profiling tools, but have low investments on others.
The RISE Effort will focus on
- Collaboration to avoid duplication of work
- Communicate RISC-V ecosystem readiness
- Focus: Facilitate Efforts and Communicate Ecosystem Readiness
Debug and Profiling Scope
Category | Examples |
Dynamic Binary Instrumentation (DBI) | Valgrind, DynamoRIO |
Profiler | perf-tools, gprofng, PAPI, libpfm4 |
Tracer | eBPF, ftrace, SystemTap |
Debugger | gdb, lldb |
Checker | Address/Thread Sanitizer |
Toolchain | binutils |
Benchmarking and Analysis | LKP, SPEC CPU |
Debug DBI Priorities
2H2023 Goals:
- Basic RISC-V Vector support for Valgrind
- Framework for RVV on Valgrind
- Tens of instructions enabled for basic testcases
- 2024 Goals:
- Full RISC-V Vector support for Valgrind
- Other extension such as bitmanip on Valgrind
- Longer Term Goals:
- Investigate other DBI solutions such as DynamoRIO
Profiler Priorities
- 2H2023 Goals:
- Userspace cycle/instret access
- Perf event discovery & encoding from JSON file
- Perf-tools
- 2024 Goals:
- Perf CTR support
- Perf-tools
- Longer Term Goals:
- New (if any) PMU relevant spec support
- PAPI, libpfm4 & gprofng are candidates
Tracer Priorities
- 2H2023 Goals:
- Evaluate the status of eBPF based tools on RISC-V (Looking for owner)
- Bpftrace, bcc, bpftune, cilium
- eBPF
- 2024 Goals:
- Depend on the evaluation above
- Add the packages to popular distros?
- eBPF
- Longer Term Goals:
- SystemTap and others are candidates
- Debugger Priorities
- 2H2023 Goals:
- Evaluate the status on RISC-V (Looking for owner)
- gdb/lldb
- 2024 Goals:
- Depend on the evaluation above
- gdb/lldb
Checker Priorities
- 2H2023 Goals:
- Support it on GCC/LLVM
- Address Sanitizer
- Longer Term Goals:
- Thread Sanitizer
Benchmarking Priorities
- 2H2023 Goals:
- Enable LKP framework and several benchmarks on RISC-V
- LKP
- 2024 Goals:
- Enable profiling tools on LKP
- Collect performance data on real hardware
- LKP
Debug and Profiling Challenges/Needs
Needs
- PMU development - with the extension such as CTR
- Performance benchmarking - okay to publish performance data, good enough PMU support
- People to take the initial work on eBPF, gdb etc.
- Hardware
Challenges
- Maintain an active WG with people working on very different projects
OPEN DISCUSSION
Build Farm Proposal
- Feedback being collected through EOD 7/19 (yesterday)
- Paul/Barna - Rapid Build Farm proposal: https://docs.google.com/document/d/1MkG19Kt4GwAnfI6M7YlkWj13-9woTejSjJ5rHFcE5TA/edit
- Assist the community quickly
- Gain experience with what works and what is needed in practice
- Have some concrete results that RISE can share by the time of the RISC-V Summit.
- Which other WG should be enabled now? (WG Needs)
WG Updates
System Libraries Working Group
- SiFive has agreed to donate a BoringSSL port for vector crypto
- Google working on libflac SL_01_001
Simulator Emulator Working Group
- SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
- Upstream status changed to “Completed”
- Upstream Version changed to “QEMU 8.1” (late August 2023)
Language Runtimes Working Group
- Update to the RISE Board
- Support for hardware feature detection
- OpenJDK: completed
- Go: in progress
- Support for V extension
- Go: feature detection via hwcap, hwprobe is coming soon
- Port libraries and frameworks
- lz4-java: in progress
- Backports:
- OpenJDK: completed for JDK17
- Feedback for the Build Farm proposal
- Integration of Android Runtime
Kernel and Virtualization Working Group
- LK_01_007 - IOMMU driver with DT support
- Upstreaming the IOMMU driver has started (patches)
- LK_02_018 - KVM bitmanip extension virtualization
- Need to support Zba, Zbb, Zbc, and Zbc extensions in the KVM ONE_REG interface
- Development and upstreaming completed (patches)
- This will be available in Linux-6.6
- LK_02_019 - KVM vector crypto extension virtualization
- Need to support various Zvk* extensions in the KVM ONE_REG interface
- Development completed and upstreaming started (patches)
- Dependency on kernel side patches so might be available in Linux-6.6
Firmware Working Group
- MMU support in EDK2
- Phase 1 (without Svpbmt) patches upstreamed
- CLANG support
- Final stages of community review.
- CMO support
- New design under community review.
- Plan to discuss and finalize 1H 2024 projects/priorities in August Monthly meeting.
Distro and Integration Working Group
- Fedora Updates
- Fedora community members have currently built over 90% of the packages for the current release: Fedora 38
- Presently this includes a full desktop environment (KDE), containerization (Kubernetes, Podman, Containerd), and some desktop applications (Firefox, Thunderbird)
- The last 10% is going to be the hardest.
Package Name | Version | Status |
gcc | 13.1.1 | Complete |
glibc | 2.37.4 | Complete |
binutils | 2.39 | Complete |
binutils | 2.40 | Ongoing |
libffi | 3.4.4 | Complete |
LLVM/Clang | 16.0.4 | Complete |
LLVM/Clang | 15.0.7 | Complete |
LLVM/Clang | 14.0.1 | Complete |
Package Name | Version | Status |
Python | 3.11.4 | Complete |
Perl | 5.36.1 | Complete |
golang | 1.20.5 | Complete |
gnome | 44.1 | Ongoing |
KDE | 17.08.3 | Complete |
Firefox | 115.0 | Complete |
Thunderbird | 102.12.0 | Complete |
Podman | 4.5.0 | Complete |
Package Name | Version | Status |
Ceph | 17.2.6 | Complete |
Kubernetes | 1.26.4 | Complete |
Containerd | 1.6.19 | Complete |
Nginx | 1.22.1 | Complete |
NodeJS | 20.2.0 | Complete |
Conda | 23.3.1 | Complete |
Chromium | 113.0.5672.63 | Ongoing |
cowsay | 3.7.0 | Complete |
Compiler/Toolchain Working Group
GCC
- Vector: Low level redesign, improves maintainability, extendability and may also help with recent compile-time explosions
- Vector: memcpy with V discovery. Very early libm routines like sin/cos.
- Slow, but important, progress on address reassociation work
- “Competing” Zicond basic support implementation posted for review
- Atomics reopened to cover Ztso optimizations from Rivos
LLVM
- First release with a variety of items of interest as well as various improvements to existing items of interest to RISE.
- Not tracking by RISE
- Major pseudo cleanup
- BOLT post-link optimizer
- Zcmp, Zacas, rounding mode control
- Progressing towards LLVM 17 release
GNU Cauldron – Sept 2023. Expecting to have some RISC-V BOFs, talks, etc
- Expecting attendees from Rivos, RAU, VRULL, Embcosm, Ventana, etc
- Opportunities to evangelize RISE
13 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Nathan Egge (google
- Andrei Warkentin (Intel)
- Andrew De Los Reyes (Rivos)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Uli Drepper (RedHat)
- Mason Li (MediaTek
- Simon Wang ( Andes)
- Paul Walmsley, (SiFive)
- Kris Murphy, (RedHat)
- Barna Ibrahim, (Rivos)
- Kumar Sankaran, (Ventana)
- Ammone Chapackdee (Rivos
- Michelle Martineau (The Linux Foundation)
Agenda
- WG Updates
System Libraries Working Group
- System Libraries WG met 7/11 attended by Google, RedHat, Imagination, Intel [1]
- Review 2023 H2 priorities on wiki [2]
Discussion about baseline ABI to support
- Consensus that RISE publishing a recommended target necessary
- Straw man: RVA22 + Vector + VectorCrypto
Challenge: VectorCrypto not yet ratified, not full supported in HW
- Upstream OSS ask for RISE to provide turnkey RISC-V developer environment
- QEMU + Kernel + Distro (Debian?) ideal for both dev and CI / CD uses
- No good if only partially staffed, must just work and stay up-to-date
- RedHat started working on top-K most depended-on packages
- Potential to do analytics on this data, help set 2024 H1 priorities
[2] 2023 H2 Priorities
Simulator Emulator Working Group
- No Updates this week
Language Runtimes Working Group
- Language RunTimes update was given to the bored today 7/13/2023
- Overall positive reception
- Asks:
- Building a Visual status dashboard on status for reach language (ecosystem readiness)
- Which Projects sees considers RISC-V is supported architecture - can be added to the dashboard
- Look into V8 status
- Functional maturity of each language compared with other architectures (x86, ARM) (Need volunteers)
- LR Project Status
- Above items can be lined up for next deepdive 9/7/2023.
Kernel and Virtualization Working Group
- One round of discussions happened on 1H24 priorities
- Initial 1H24 priorities to be finalized by next monthly meeting
- Started discussion on RAS software stack
- This will be completed in the next monthly meeting
- Work items will be defined as-part of this discussions
Build/CI Infrastructure
- Overall Board was supportive of the idea and funding this project.
- Start small maybe combination of HW and Cloud, then scale as the usage increases.
Next Steps:
- Kernel WG proposal spin this off to broader WG needs (Language Runtimes, System Libraries etc). Update the wiki accordingly w/o cost.
- Dig Deeper on the cost:
- GCP Usage (Nathan)
- AWS Usage (Jeff Law) (AWS promotional credits for open source projects)
- OSL-OSU (Barna, Nathan)
- Put a proposal together in the next couples weeks (Volunteers, Publish it in TSC list for inputs etc.)
Firmware Working Group
- Monthly meeting happened on July 5th 2023
- Wiki update guidance
- CMO presentation
- Based on feedback during presentation, a new version of patch sent upstream this week.
- CLANG support patches sent upstream.
- StandaloneMMPkg may need some help from RISE members.
- Do we need to maintain both google spreadsheet as well as wiki? Can we have a single source of truth?
Distro and Integration Working Group
- Debian:
- Bookworm releasing without RISC-V support, but it was close.
- riscv64
- Although it's not yet in the official architecture list, the riscv64 port is making good progress. We expect to be in a position to ship trixie with riscv64 support (subject to architecture qualification later in the cycle). Now may be a good time to invest in Debian so Trixie (2 years out) supports RISC-V. Project could use hardware and attention to build failures. Brian will reach out to Debian and Fedora
Debug and Profiling Working Group
Valgrind
- Sent basic Vector-IR prototype code for discussion
Address Sanitizer
- Not too many updates this week
- It’s valuable to get all the targeted tools’ status on RISC-V
Compiler/Toolchain Working Group
- Haven’t covered this the last few weeks
- Improving the confluence pages
- Stakeholders (RISE and external), resourcing, dependencies, etc
- Filling in more in-progress projects for 2H23 and 1H24 plan
- Seeing others adding content – Simon Harvey (Imagination Technologies), Shao-Chung Wang (Andestech), Chibang Kuan (Mediatek)
- Starting to get better wired into LLVM space
- Coordination of changes across LLVM and GCC (ABI issues)
- Slightly better understanding of ongoing autovec improvements
- CRC optimization discussion – viable plan going forward
- Need to sync with Philip R (he’s reached out, I just haven’t followed up)
- Pushed quite a bit on Zfa, and vector crypto for upcoming binutils release
- Really need to add this to the project pages as it makes sense going forward and there will be ongoing dependencies
- CI/CD on GCC coordination branch just starting to fire up
06 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Amit Pabalkar (NVIDIA)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Kris Murphy, (RedHat)
- Elliot Hughes, (google)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Trilok Soni (Qualcomm)
- Tim Ouyang (Andes)
- Ammone Chapackdee (Rivos
Agenda
- Language Runtimes WG Deep Dive (20mins)
[RISE] Language Runtimes WG Update 7/6/23
https://lf-rise.atlassian.net/wiki/display/HOME/Language+Runtimes+WG
Build Farm Project Update (20mins)
RISC-V Linux and KVM Build Farm Full Proposal
Proposal:
- RISE to fund RISC-V Linux Kernel and KVM Build Farm.
- Start with 7-10 nodes (64 core machine) which will ensure proper tests. This includes two nodes dedicated for KVM tests.
Why should RISE Fund:
- Enabling RISC-V Linux Kernel and KVM maintainers with a stable build environment directly aligns with the RISE mission.
- This will help to accelerate and mature RISC-V Linux Kernel and KVM.
- Request:
- RISC-V Linux Kernel and KVM Build Farm
- Hosted by OSU-OSL
- 9 machines
- RISC-V Linux and KVM Build Farm Full Proposal
WG Updates
System Libraries WG
- Added a Project Tracking Spreadsheet [1]
- Updated 2023 H2 priorities to include SL_00_005 - zlib-ng (SiFive)
- Progress on zlib-ng added RVV support for compare256, slide_hash and alder32
- https://docs.google.com/spreadsheets/d/1_jlbjggMfkyrl2giq_ktvlUAZ4RcoDRQTMsdFr94fFg
Simulator Emulator WG
- Monthly meeting happened yesterday (July 5th)
- Covered wiki vs spreadsheet usage, went through priority items
- New items added in the spreadsheet:
- SE_01_009 QEMU ACPI support for AIA - Sunil V L (Ventana)
- SE_01_0010 QEMU ACPI support for PLIC - Sunil V L (Ventana)
Kernel and Virtualization WG
- One round of discussions happened on 1H24 priorities
- Initial 1H24 priorities to be finalized by next monthly meeting
- Started discussion on RAS software stack
- This will be completed in the next monthly meeting
- Work items will be defined as-part of this discussions
Firmware WG
- Monthly meeting happened on July 5th 2023
- Wiki update guidance
- CMO presentation
- CLANG support patches sent upstream.
- StandaloneMMPkg may need some help from RISE members.
- Do we need to maintain google spreadsheet?
- How to assign IDs for each project?
Distro Integration WG
- New discussions about Yocto
- Not much else to report
Debug and Profiling WG
- Discussing eBPF tasks, Bjorn Topel suggested try and evaluate the existing tools
- Bpftrace
- BCC
- Cilium
- Bpftune
- Need to find someone for this
Compiler/Toolchain WG
- Improving the confluence pages
- Slightly more detail on benchmarks improved by changes
- Stakeholders (RISE and external), some resourcing information, etc
- Update for additional dependencies and/or dependencies resolved
- Filling in more in-progress projects for 2H23
- Get backtracing item into the 2H23 plan
- Starting to fill out 1H24 plan
- Starting to get better wired into LLVM space
- Coordination of changes across LLVM and GCC (ABI issues)
- Slightly better understanding of ongoing autovec improvements
- CRC optimization discussion – viable plan going forward
- Need to sync with Philip R (he’s reached out, I just haven’t followed up)
- Pushed quite a bit on Zfa, and vector crypto for upcoming binutils release
- Really need to add this to the project pages as it makes sense going forward and there will be ongoing dependencies
- Alexey Bataev, SiFive
- Barna Ibrahim, Rivos
- Brian Harrington (Redbeard), Redhat
- Drew Fustini, Tenstorrent
- Jeff Law, Ventana
- Kumar Sankaran, Ventana
- Mason Li, MedieTek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Tim Ouyang, Andes
- Victor Constan, Google
Agenda
- TSC Meeting Notes and Hygiene
- WG Opens/challenges
- Future topics
- Tensorflow for RISC-V
- x264 for RISC-V
- AIs from last week
Working Groups Opens / Challenges
- Tensorflow for RISC-V (email sent to libraries-runtimes WG)
- If yes, what is the latest status?
- We are getting asked questions regarding the availability of Tensorflow on RISC-V
- Tried to compile Tensorflow within Ventana and things fail due to missing support for Bazel
- Is anyone from RISE or any upstream company working on Tensorflow?
- If no one is working on Tensorflow from RISE, can we make this an RFP and get some bids as Tensorflow for RISC-V is a pretty important framework for AI/ML
- x264 for RISC-V
- Bytedance team started work on x264 porting and optimization with RVV1.0
- Repo located here https://code.videolan.org/yintong.ustc/x-264-bd-ventana
- Is anyone from RISE or upstream working on x264? Bytedance would like to collaborate with other work if any
An open discussion occured around Bazel, and RISC-V, and what is available. After the discussion it was determined that the group could continue going forward and see what the next level of errors would be.
Working Groups Opens / Challenges
- Distro WG - RVI email thread
- [RISE-Distro-Integration-WG] [tech-profiles] Feedback on having multiple applications profiles from RISE Discussion
AIs for this week
- Insert
AIs from last week
- Insert
02 May 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Robin Randhawa, SiFive
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Myungjoo Ham, Samsung
Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Ludovic Henry, Rivos
- Ming-yu Hung, Mediatek
- Jian Zhang, BOSC
Agenda
- Language Runtimes Deep Dive led by Ludovic Henry
- RFP Status
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Language Runtimes Deep Dive led by Ludovic Henry
RFP Status
WG Opens
- RFP process challenges
- This was added HERE new sections labeled contracts and payments are now on the RFP wiki page.
- RFP postings should include LF/RISE contract text and requirements if we expect vendors to use ours
- Along with statements that we don’t accept vendor-written contracts
- WG Leads- if you create new documents in your WG folders and do not assign them to RISE PMO you will be responsible for granting permissions.
- Open Discussion
Future topics: WG Opens/challenges
25 Apr 2024
- Evan Harrison, The Linux Foundation
- Drew Fustini, Tenstorrent
- Andrew de los reyes (Adlr), RIVOS
- Jeff Law,
- Victor Constant, Google
- Tomas Evensen, AMD
- Alexey Bataev, SiFive
- Terje Bergstrom, NVIDIA
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Nathan Egge, Google
Agenda
- Developer Infrastructure Deep Dive led by Paul Walmsely
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Topics
- Developer Infrastructure WG Introduction & Vision
- Build Farm
- 2024Q1 Review
- Next Steps
- Board Farm
- Developer Tools
- Challenges
Developer Infrastructure WG Introduction
- Charter
- The Developer Infrastructure WG focuses on software and services to support open-source RISC-V developers - both RISE members and the broader open-source community.
- Co-chairs
- Barna Ibrahim (Rivos)
- Paul Walmsley (SiFive)
- TSC Contact
- Nathan Egge (Google)
Developer Infrastructure WG Vision
- Three mutually-supporting projects
- RISE Build Farm (Active)
- RISE Board Farm (Active)
- RISE Developer Tooling (In planning)
- Goal
- Provide robust development infrastructure and tools to RISC-V developers
RISE Build Farm: Introduction
- Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Björn Töpel (Rivos) coordinating
- Status
7 active projects
- Thousands of builds, and millions of tests per month.
Build Farm: 2024Q1 Review
- Broadened the administration base
- Brian “Redbeard” Harrington (Red Hat) now helping out with general admin tasks
- Björn Töpel (Rivos) now leading the Build Farm
- Four existing projects still running
- Two new projects added
- GCC fuzzer: Patrick O’Neill & Edwin Lu (Rivos)
- LLVM fuzzer: Patrick O’Neill & Edwin Lu (Rivos)
Credits currently set to expire on September 12, 2024
- Expiration date just discovered mid-April
- Will discuss with Amber and Lars to see if this can be extended
Build Farm: Looking Forward
- CI/CD Based Controller + Job system
- Projects can include a JenkinsFile in their repo which defines the job requirements. Makes the jobs portable across Jenkins instances as well
- Webhook + status integration across GitHub, GitLab, and publishing via host names in the subdomain “di.riseproject.dev”.
- Will make this easy to add more Build Farm projects with greater flexibility
- Members will coordinate with other working groups to solicit other projects and support their onboarding
- Compared to Kubernetes it is much simpler to understand and deploy.
- Biggest challenges: sheep shearing (setting up credential vaults for API access into secret material, authentication proxies, configuring back end roles & policies to allow for the correct, limited, API calls from Jenkins into GCP using the proper service accounts, ensuring build systems “fail” and recover property upon crashing, that services all recover correctly, etc)
We Need More Build Farm Projects
- Build farm project growth rate is leveling off
- Let’s get more build farm projects going for future payoffs in better RISC-V ecosystem support for all of us
- Please contact us if you have project ideas - we can help
RISE Board Farm: Introduction
- Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
RISE Board Farm: Status
- Hardware prototype running, based on Kendryte K230
- Software infrastructure in progress
- Target is to remotely load as much of the software on the board as possible
- Hosting at OSUOSL
- Goal: contract agreed in May (new one needed since RISE hosted by LF EU)
Adlr: How does this compare to scaleway?
- Paul: it's a compliment to what the commerical cloud providers are providing.
RISE Developer Tools: Introduction
- Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware
- Will start with Nathan’s Gentoo build
- No one yet coordinating
Credits
- Barna Ibrahim (Rivos): Co-chair
- Björn Töpel (Rivos): Kernel CI Build Farm Project Admin, Build Farm Lead
- Brian ‘redbeard’ Harrington (Redhat): Build Farm Administrator
- Curtis Galloway (Google): Board Farm Lead
- Edwin Lu (Rivos): Toolchain Build Farm Project Admin
- Ludovic Henry (Rivos): Language Runtimes Build Farm Project Admin
- Patrick O’Neill (Rivos): Toolchain Build Farm Project Admin
- Paul Walmsley (SiFive): Co-chair
Working Groups Opens / Challenges
18 Apr 2024
- Michelle Martineau, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
- Paul Walmsley, SiFive
- Olof Johansson,
- Jefro, Redhat
- Mason Li, MediaTek
Agenda
- Simulator Emulator Deep Dive led by Daniel Barboza
- WG Chairs: Propose setting a minimum of one live meeting per month for each WG
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Simulator Emulator Deep Dive led by Daniel Barboza
- 2024 projects - not yet started
- SE_01_003 - QEMU WorldGuard support
- SE_01_021 - QEMU RVA23 profile support
- SE_02_004 - QEMU RVV performance enhancements
- 2024 projects - in progress, not sent for review
- Community project (Starfive)
- Community project (Starfive)
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- 2024 projects - upstream process ongoing
- Latest version: v1
- Project has dependencies on UBOOT and GRUB
- Latest version: v5
- Latest version: v2
- Goal: merge it for QEMU 9.1 (July 2024 code freeze)
- New project
- Latest version: v2
- SE_01_005 - QEMU PCIe passthru on x86 hosts
- SE_01_004 - QEMU IOPMP support (no change)
- SE_01_015 - QEMU RISC-V IOMMU support
- SE_01_022 - RISC-V Server SoC Reference Board
- 2024 projects - upstream completed
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- SE_01_020 - QEMU SMBIOS support for RISC-V
WG Chairs: Propose setting a minimum of one live meeting per month for each WG
- Propose establishing a one-live-meeting-per-month minimum for all WGs (pjw)
- Even if no topics, would be good to do a status review
- Discussed a few weeks ago at the TSC in the afternoon time slot
- All commenters agreed
- Wanted to bring it up in the morning TSC slot for any additional discussion
RFP Contract Status Update
RFP# | Topic | WG | Phase |
GCC SPEC2017 Optimization | Toolchain | Phase 3: Bidding open | |
OpenOCD upstreaming | Debug and Profiling | Phase 4: Bid Review & Award Contract | |
LLVM CI Improvements | Dev Infra/ Toolchain | Phase 6: Execution | |
TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 5: Signing in progress Vendor and (LF Signature) | |
Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 6: Execution | |
libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | |
Multimedia Enablement | System Libraries | Phase 6: Execution | |
Accelerate Go Runtimes | Language Runtimes | Phase 6: Execution |
WG Opens
11 Apr 2024
- Evan Harrison, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
- Paul Walmsley, SiFive
- Olof Johansson,
- Jefro,
- Mason Li, MediaTek
- Tim O,
Agenda
- Distro and Integration Deep Dive led by Redbeard
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
- Updated Deep Dive Schedule- SEE APPENDIX
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Distro and Integration Deep Dive
Dev Infra WG Opens
- Dev Infra: would like to get Jeff’s signoff as Toolchain & Compiler WG chair for the GCC microcontroller Build Farm proposal
- FYI: RISE build farm infrastructure to build riscv64 python binary wheels. Proposal here.
- Dev Infra: Björn Töpel (Rivos) & Brian Harrington (Red Hat) taking the lead on RISE Build Farm management (thanks!)
- Open Discussion
- Action: Jeff Law to take a look and get back to Paul for approval
Dev Infra & Language Runtimes WG Enabling RISC-V Boards Request
Board Green light on Requested Amount: 5,760€ per year
Projects to be first enabled:
- Java/Adoptium: 15 boards to build and test Java 11, 17, 21, and 22. It runs for 2000 hours/week of building and testing
- Go: 5 boards, used exclusively for CI
- AlmaLinux/RockyLinux: 5 boards each, used to build their distributions on RISC-V
Next Steps
- TSC and WG are there other needs?
- Report back to Board in 3 months on usage progress
Future Topics Parking Lot
Please add topic to be discussed for future meetings
AIs for this week
AIs from last week
- Insert
04 Apr 2024
- Michelle Martineau, The Linux Foundation
- Drew Fustini, Tenstorrent
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Anup Patel, Ventana
- Mark Zhuang, SpacemIT
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Sunil Vl, Ventana
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akean
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Steve Wanless, RedHat
Agenda
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
- Updated Deep Dive Schedule- SEE APENDIX
Kernel and Virtualization Deep Dive led by Anup Patel
- Latest Linux release updates
- Linux-6.8 was released on 10th March 2024 and Linux-6.9 merge window concluded on 25th March 2024
- Noteworthy updates:
- RVA23 profile extensions
- List of RVA23 profile extensions on wiki in-sync with latest spec
- HWPROBE additions
- No updates
- KVM ONE_REG additions
- Ztso and Zacas
- Total 83 extensions (04-04-2024, wiki)
- Kernel HWPROBE (04-04-2024)
- NA - 36 (43.37%)
- TBD - 16 (19.28%)
- COMPLETED - 31 (37.35%)
KVM ONE_REG (04-04-2024) - NA - 10 (12.05%)
- TBD - 26 (31.32%)
- COMPLETED - 47 (56.63%)
- Updates on discovery
- Overall status
- 2023-2H
- LK_01_003 - AIA drivers with DT support
- Development: Completed, Upstreaming: Completed
- First 8 patches merged in Linux-6.9 and remaining 8 in Linux-6.10
- LK_01_005 - Native/hosted debug support (aka HW breakpoint)
- Development: Completed, Upstreaming: OnGoing
- LK_02_011 - KVM native/hosted debug virtualization
- Development: Completed, Upstreaming: TBD
- LK_03_018 - QEMU-KVM vector crypto support
- Development: Completed, Upstreaming: Completed
- LK_03_019 - QEMU-KVM bitmanip support
- Development: Completed, Upstreaming: Completed
- Total 27 projects (04-04-2024, wiki)
- Development (04-04-2024)COMPLETED / NOTNEEDED - 27 (100%)
Upstreaming (04-04-2024) - TBD - 3 (11.11%)
- ONGOING - 7 (25.93%)
- COMPLETED / NOTNEEDED - 17 (62.96%)
- Updates on projects
- Overall status
- 2024-1H
- Kernel
- HWPROBE discovery for Z* and S* extensions included in RVA23 profile
- ACPI LPI support
- ACPI CPPC support
- ACPI PPTT support
- ACPI NUMA support
- ACPI SPCR support
- Steal time support
- System suspend support
- Debug console support
- PMU snapshot support
- ISA Extensions
- ACPI improvements
- SBI v2.0
- Kernel
- Updates on priorities
KVM
- KVM selftests
- KVM unit tests
- Host nested acceleration (Defined by SBI v2.0)
- ISA extensions
- ONE_REG discovery for Z* and S* extensions included in RVA23 profile
- Virtualize SBI v2.0 support
- Steat time support for Guest (incl. KVMTOOL and QEMU-KVM)
- System suspend support for Guest (incl. KVMTOOL and QEMU-KVM)
- Debug console support for Guest (incl. KVMTOOL and QEMU-KVM)
- PMU snapshot support for Guest (incl. KVMTOOL and QEMU-KVM)
Xen
Shared memory and event channel
- IOMMU driver
- LK_01_011 - ACPI LPI support
- Development: Completed, Upstreaming: Completed
- LK_01_012 - ACPI CPPC support
- Development: Completed, Upstreaming: Completed
- Development: Completed, Upstreaming: Completed
- Development: Completed, Upstreaming: Completed
- LK_01_018 - Optimize bitops using Zb* extensions
- LK_02_015 - KVM Zawrs virtualization
- Development: Completed, Upstreaming: Ongoing
- LK_02_020 - KVM Zacas virtualization
- Development: Completed, Upstreaming: Completed
- Development: Completed, Upstreaming: Completed
- LK_03_003 - KVMTOOL Debug console support
- arch_timer, demand_paging_test, dirty_log_test, get-reg-list, guest_print_test, kvm_binary_stats_test, kvm_create_max_vcpus, kvm_page_table_test, set_memory_region_test, and steal_time
- Development: Completed, Upstreaming: Completed
- Lists of tests
- arch_timer, demand_paging_test, dirty_log_test, get-reg-list, guest_print_test, kvm_binary_stats_test, kvm_create_max_vcpus, kvm_page_table_test, set_memory_region_test, and steal_time
- LK_03_012 - KVM selftests improvements
- LK_03_013 - KVM unit tests RISC-V port
- Development: Completed, Upstreaming: Completed
- Development: Completed, Upstreaming: Completed
- LK_03_020 - KVMTOOL Smstateen support
- LK_03_021 - QEMU-KVM Smstateen support
- Development: Completed, Upstreaming: Completed
- Development: Completed, Upstreaming: TBD
- Development: Completed, Upstreaming: TBD
- LK_03_022 - KVMTOOL Zawrs support
- LK_03_025 - QEMU-KVM Svnapot support
- Development: Completed, Upstreaming: Completed
- LK_03_028 - KVMTOOL Zacas support
- Development: Completed, Upstreaming: TBD
- Total 43 projects (04-04-2024, wiki)
- Development (04-04-2024)
- TBD - 8 (18.60%)
- ONGOING - 2 (4.65%)
- COMPLETED - 33 (76.75%)
Upstreaming (04-04-2024) - TBD - 13 (30.23%)
- ONGOING - 10 (23.26%)
- COMPLETED - 20 (46.51%)
- Updates on projects
- Overall status
RFP Status
RFP# | Topic | WG | Phase |
GCC SPEC2017 Optimization | Toolchain | Phase 3: Bidding open | |
OpenOCD upstreaming | Debug and Profiling | Phase 3: Bidding open | |
LLVM CI Improvements | Dev Infra/ Toolchain | Phase 6: Execution | |
TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 4: Signing in progress Vendor and (LF Signature) | |
Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 6: Execution | |
libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | |
Multimedia Enablement | System Libraries | Phase 6: Execution | |
Accelerate Go Runtimes | Language Runtimes | Phase 6: Execution |
Eclipse Temurin 21 and 22 Available on RISC-V
- RISE and Adoptium Collaboration
- Significant advancement in the Java ecosystem: the availability of Eclipse Temurin 21 on RISC-V.
- Adoptium Blog: Eclipse Temurin 21 and 22 Available on RISC-V
- RVI Blog: Java 21 and 22 Now Available on RISC-V: A Collaboration Between RISE and Eclipse Adoptium
- RISE Linkedin Post (Working to create a blog page)
GCC Microcontroller CI Proposal
- RISE Build Farm: GCC Microcontroller Target CI proposal from the RISE DevInfra team.
- Add support for testing microcontroller architectures that don’t support all the g extensions. Some possible extensions to test would be:
- rv32imac-ilp32
- rv64imac-lp64
- rv32imc-ilp32
- rv64imc-lp64
- rv32imc_zicsr_zifencei-ilp32
- rv64imc_zicsr_zifencei-lp64
Additional combinations with various bitmanip extensions can also be tested.
Request: 5,760€ per year
Projects need these boards are:
- Java/Adoptium: 15 boards to build and test Java 11, 17, 21, and 22. It runs for 2000 hours/week of building and testing
- Go: 5 boards, used exclusively for CI
- AlmaLinux/RockyLinux: 5 boards each, used to build their distributions on RISC-V
The boards available on Scaleway are likely small to productize it, but they can allow to bootstrap the process.
WG Opens/challenges
- Open Discussion
- System Libraries WG issues reported over email
- No Wiki updates in the last 4-months
- Unaware of where the WG meeting recordings and meeting minutes are stored
- Google folder does not have the latest meeting minutes/recordings
AIs
Follow up on Language Runtime proposal budget
Updated Deep Dive Schedule- SEE APENDIX
28 Mar 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Ming-Yu Hung (MTK)
- Sunil V L, Ventana
- Mark Zhuang, SpacemIT
- Andrei Warkentin, Intel
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Zhang, BOSC
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
Agenda
- Welcome New Member: Tenstorrent
- Compilers and Toolchains Deep Dive led by Jeff Law
- RFP Quick Glance & RP008 update
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Compilers and Toolchains Deep Dive – RP008
- Rivos has identified cases where icounts for spec2017 on RISC-V are at least 10% higher than on AArch64
- Contractor to evaluate those cases for phase 1
- Identify issues driven by ISA differences
- Identify cases where compiler could be doing better along with broad approach to fixing – for phase 2 work
Compilers and Toolchains Deep Dive – GCC Status
- GCC-14 release likely in May
- Initial release with vector support
- Many other code generation improvements, extension support, etc
- Many things already queued up for gcc-15
- Leads to same problem we had last year – a year delay between code going into the tree and the actual release
- Likely resulting in a optimization coordination branch again
- 20 projects identified for 1H2024
- 10 are already at development completion, 8 in progress, 1 under investigation, 1 not started
- 6 already upstreamed (ie, in gcc-14), rest are on hold waiting for development window to reopen
Compilers and Toolchains Deep Dive – LLVM Status
- LLVM 18 release earlier this month
- New cores supported (primarily from SiFive)
- RV32E/RV64E support
- Register pressure sensitive scheduling
- Some TLSDESC support landing, early support for pointer masking
- Arch string ordering constraints relaxed!
- TypePromotion pass enable for RISC-V
- Several extensions moved out of experimental state
- Usual ongoing performance improvements
Compilers and Toolchains Deep Dive – LLVM Status
- LLVM Projects identified for 1H2024 – only 6, like more that should be added to the page.
- CRC – looks like Joe Faulls (Imagination Technologies) has picked this up from Mikhail. MR filed and is undergoing review.
- X264 if-conversion. 2 of 3 blockers resolved. Still hashing through one notable issue in the generic if-conversion code
- Stack Clash – Just getting started, engineer’s 1st LLVM project
- Shrink Wrapping – Just getting started.
- Overly aggressive if-conversion in some cases?
Compilers and Toolchains Deep Dive – MISC
- Should we make LLVM and GCC distinct projects under the RISE umbrella, with Craig or someone else tied into the LLVM community as the leader for the LLVM effort going forward?
- We’ve generally avoided regularly scheduled meetings in this WG per requests from various developers – would a one-a-month “office hours” be useful for RISE members?
RFP Contract Status Update
RFP# | Topic | WG | Phase |
OpenOCD upstreaming | Debug and Profiling | Phase 3: Bidding open | |
LLVM CI Improvements | Dev Infra/ Toolchain | Phase 6: Execution | |
TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 4: Signing in progress Vendor and (LF Signature) | |
Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 4: Signing in progress Vendor and (LF Signature) | |
libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | |
Multimedia Enablement | System Libraries | Phase 6: Execution | |
Accelerate Go Runtimes | Language Runtimes | Phase 6: Execution |
Update From the Board -
RP008: Tool Chain WG: GCC Spec Optimization Proposal
- Recommendation is Phase 1 Analysis of SPEC
- Architectural deficiencies in RISC-V. Identify cases which are primarily driven by differences in the ISA. For example, AArch64 performing better because it has a richer set of addressing modes for vector instructions and similar kinds of issues. Ideally this section would identify the component of spec2017 that is affected, show a C/C++/Fortran code fragment for the problem and the corresponding AArch64 and RISC-V code for the fragment.
- Codegen weaknesses in GCC. Each item should contain a code fragment from the benchmark, a reasonable standalone testcase (compilable, doesn't need to run), and analysis of what the compiler would need to do to improve the code. Assembly code for AArch64 and RISC-V and proposed/target code for RISC-V would be recommended.
- Phase 2 will be a separate RFP and bidding following the finding of Phase 1.
- Goal Publish RFP008 on April 2nd.
Working Groups Opens / Challenges
- Open Discussion
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- Insert
AIs for this week
- Insert
AIs from last week
- Insert
21 Mar 2024
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Ming-Yu Hung (MTK)
- Sunil V L, Ventana
- Mark Zhuang, SpacemIT
- Andrei Warkentin, Intel
- Heinrich Schuchardt, Canonical
- Terje Bergstrom, NVIDIA
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Zhang, BOSC
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Alexey Bataev, SiFive
- Nathan Egge, Google
- Tim Ouyang, Andes
Agenda
- Firmware Deep Dive led by Sunil V L
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Firmware Deep Dive led by Sunil V L
- 2024 Project Status update
- AIA, Smmtt etc
- Upstreaming complete.
- PoC available from Andes
- Andes hosting and maintaining github
- Dependency on RVI specs (MPXY/RPMI) to upstream.
- More work required to enable features
- PoC available.
- Dependency on frozen spec to upstream.
- SBI_00_04 - Domain Context Switch Support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
- 2024 Project Status update Cont.
- AIA, Smmtt etc
- Upstreaming complete.
- PoC available from Andes
- Andes hosting and maintaining github
- Dependency on RVI specs (MPXY/RPMI) to upstream.
- More work required to enable features
- PoC available.
- Dependency on frozen spec to upstream.
- SBI_00_04 - Domain Context Switch Support
- OPTEE_00_01 - OP-TEE support
- SBI_00_05 - OpenSBI RPMI MM Support
- EDK2_00_15 - StandaloneMmPkg RPMI MM support
- 2024 Project Status update Cont.
- Helps vendors to support ACPI easily.
- RFC patches sent.
- Major refactoring of DynamicTablesPkg required to support other architectures.
- Maintainers started new staging branch to refactor.
- Upstreaming RISC-V support - probably late 2024 or 2025.
- In progress.
- Dependency on UPL specification
- First version of the patch series sent
- EDK2_00_14 - DynamicTablesPkg support
- EDK2_00_10 - UefiPayloadPkg For RISC-V
- EDK2_00_18 - RISC-V QEMU Server Reference Platform
- 2024 Project Status update Cont.
- Showcased this RISE effort in UEFI DevCon & Plugfest
- PoC available at https://github.com/intel/FdtBusPkg
- EDK2_00_03 - FdtBusDxe support
- Opens/Challenges
- Ex: MultiArchUefiPkg.
- Significant organization overhead to maintain in member’s github.
- There may not be any upstream repo at all.
- Getting requests from members for RISE github
- Need TSC help to clearly document the RISE policy for github repo.
RFP Contract Status Update
RFP# | Topic | Tech Leads | Phase |
LLVM CI Improvements | Dev Infra/ Toolchain | Phase 6: Execution | |
TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Bid selected, Awaiting vendor info | |
Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 4: Signing in progress (LF Signature) | |
libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | |
Multimedia Enablement | System Libraries | Phase 6: Execution | |
Accelerate Go Runtimes | Language Runtimes | Phase 6: Execution |
RFPs Governing Board Approval
- RP007: Debug & Profiling WG: OpenOCD Upstreaming Proposal
- Goal: Publish RFP March 25, 2024
- RP008: Tool Chain WG: GCC Spec Optimization Proposal
- Green light to explore. Review the proposal 3/28/204
- Description: GCC auto-vectorization has come a long way. We have recently gotten to the point where SPEC will reliably run correctly with auto-vectorization enabled. With this solid base, we need to spend effort through code generation issues.
- Goal: Publish RFP March xx, 2024
WG Opens
Future topics: WG Opens/challenges
AIs from last week
14 Mar 2024
- Evan Harrison, The Linux Foundation
- Andrew de los reyes (Adlr), Rivos
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- Erich Hanke, AMD
- Jeff Law, Ventana
- Jian ZHANG, Beijing Institute of Open Source Chip
- Kumar Sankaran, Ventana
- Mason Li, MediaTek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Terje Bergstrom Nvidia
- Tim Ouyang, Andes
- Victor Costan, Google
Agenda
- Reminder: No deep dive for this week
- RFP Status Update
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
RFP contract Progress
- Contract vendors send Tech Leads & RFP Reporting mailing Biweekly reports
- Please request this cadence when you start engaging with your contractor
- Tech Leads provide Monthly updates to TSC (Report)
- Working group updates to the board will include the RFP updates
RFP Contract Status Update
RFP# | Topic | WG | Phase |
LLVM CI Improvements | Dev Infra/ Toolchain | Phase 6: Execution | |
TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Bid selected, Awaiting vendor info | |
Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 4: Signing in progress (LF Signature) | |
libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | |
Multimedia Enablement | System Libraries | Phase 6: Execution | |
Accelerate Go Runtimes | Language Runtimes | Phase 6: Execution |
Working Groups Opens / Challenge
Not a distro-integration problem, in the RVI profiles discussion, there has been a lot of effort put into the idea of vertical profiles. There hasn't been a lot of discusssions about horizontal profiles. What happens when we get to the place where I have purchased my motherboard and I have to choose between chips from intel, ventana, etc... This is a discussion that needs to happen, there isn't a concrete answer right now.
- The platform spec - there should be one single distro image for all platforms, this is the high level answer currently.
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- N/A
AIs for this week
- N/A
AIs from last week
07 Mar 2024
- MichelleMartineau, The Linux Foundation
- Tomas Evensen, AMD
- Ming-Yu Hung (MTK)
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Gordan Markus, Canonical
- Ludovic Henry, Rivos
- Daniel Barboza, Ventana
- Simon Harvey, Imagination
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Jian Xiong, Alibaba
- Fei Wu, intel
- Kumar Sankaran, Ventana
- Paul Walmsley, SiFive
- Victor Costan, Google
- Nathan Egge, Google
- Tim Ouyang, Andes
- Andrew de los reyes (Adlr), Rivos
- Jeff Law
- Ruinland, Andes
Agenda
New Member Application in Progress- Bytedance
Distro and Integration Deep Dive- Brian (RedBeard) Harrington
RFP - status; OpenOCD; GCC
WG Opens
Future topics: WG Opens/challenges
AIs from last week
Distro and Integration Deep Dive- Brian (RedBeard) Harrington
Charter:
- Work is focused on two kinds of projects.
- The champion identifies the directions/projects
- The WG works to prioritize, unravel dependencies on other WGs or file projects in other WGs
- Issues common to multiple Linux distros (e.g. bugs/features in common packages)
- Enabling a specific Linux distro, provided the Linux distro has a champion/vendor.
Ongoing work / requests:
- Establish a new kernel + old glibc baseline for use in Python packaging
- Ludovic (Rivos) has successfully made inroads with contributors to Alma Linux
- Unfortunately, due to the packaging policies on many RPM derived distros physical systems are needed for distributable packages.
- Establish support for SecureBoot on RISC-V
- Heinrich (Canonical) created a patch set in 2021 which Red Hat has failed to merge. Recently Redbeard updated the patch set and has increased the pressure internal to Red Hat to force feedback.
Upcoming work / requests:
- As chair for the WG I have been approached by a number of individual contributors and community members who are seeking a free/libre/open source FPGA toolchain which can be used in continuous integration systems. This is related to the prior citation about the need for physical systems.
- I have encouraged those reaching out to engage both the relevant mailing lists as well as attend the WG meeting so that I am not a critical mutex on all discussions.
Challenges:
- As with other groups, problems with attendees getting access to the mailing list and calendar invites.
RFP - status; OpenOCD; GCC
RFP# | Topic | WG | Phase |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 5: Contract signed, work can begin. |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Bid selected, Awaiting vendor info |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 4: Signing in progress (LF Signature) |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract |
RP002 | Multimedia Enablement | System Libraries | Phase 5: Contract signed, work can begin. |
RP001 | Accelerate Go Runtimes | Language Runtimes | Phase 5: Signed. Work started |
NOTE: RFP Status and budget can be found HERE under the Approved tab.
RFP Process and Timelines
Phase | Tasks | Duration |
Phase 1 Phase 2 | Conception - TSC discussions, RFP document collaboration Approval - Reviewers Sign off; TSC approval; Board approval on budget; RFP document finalized | Undetermined |
Phase 3: | Publication & Bidding ( Bidding form) - TL Request PMO to publish; - PMO Publish on Wiki inform the outreach team. | Bidding period 2 weeks. (Can be 3-4 weeks if project is complex) |
Phase 4: | Bid Review - PMO will inform TLs bidding is closed and make a selection reminder - TL set up a meeting or email review with TSC chairs and make a selection. - TL to Inform TSC & PMO - TL to communicate with the selected bidders. RFP Comms email - PMO will send rejection emails to Bids not selected copying TLs. | 2 weeks for Selection 1 week to inform |
Phase 5: | Contract Execution - PMO Execute the contract based on the information collected | 1- 2 weeks (If no questions or redlines from the contractor) |
Phase 6: | Execution - TL Overseeing the work. Forwarding weekly reports to working group? Periodic updates to TSC (discuss) - A TSC Chair (Barna can help) Approval to pay vendors should be communicated to who will work with Larry and PMO for payment. |
WG Opens
- Ensuring WG leads have administrator access to their WG mailing lists
- Open Discussion
Future topics: WG Opens/challenges
AIs from last week
Follow up about FW Op-Tee Solutions
29 Feb 2024
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Daniel Barboza, Ventana
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Sunil VL, Ventana
- Nathan Egge, Google
- Tim Ouyang, Andes
- Andrew de los reyes (Adlr), Rivos
- Jeff Law
Agenda
- System Libraries Deep Dive led by Nathan Egge
- GCC SPEC analysis work
- RFP Updates
- WG Opens
- Future topics: AIs from this week
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
System Libraries Deep Dive
System Libraries Deep Dive 2024-February-29
Toolchain performance plan?
- Assign owner for each gap
- Quickly triage problem
- Identify fixes into two categories:
- Jeff to triage these issues that him and his team runs into. Adlr will assist with this effort after Jeff has triaged.
- Can be fixed quickly by RISE member company
- Otherwise, can add to RFP for toolchain work
- How anyone run these by Greg? - Paul
GCC compiler gaps
- GCC riscv64 vs GCC aarch64-SVE
- GCC riscv64 vs LLVM riscv64
- Note: Some LLVM tests don’t run
- ImageMagick was -30%, but fixed with Zfa
LLVM compiler gaps
- riscv64 LLVM vs riscv64 GCC
- Note: some LLVM tests didn’t run
- Generally see scalar code is behind
RFP Contract Status Update
RFP# | Topic | WG | Phase |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 4: Contract Sent |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Publication & Bidding |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 3: Contract |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract |
RP002 | Multimedia Enablement | System Libraries | Phase 4: Contract sent |
RP001 | Accelerate Go Runtimes | Language Runtimes | Phase 5: Signed. Work started |
22 Feb 2024
- Michelle Martineau, The Linux Foundation
- Heinrich Schuchatdt, Canonical
- Erich Hanke, AMD
- Daniel Barboza, Ventana
- Barna Ibrahim, Rivos
- Mark Zhuang, Smacemit
- Brian 'redbeard' Harrington, Redhat
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Gordan Markus, Canonical
- Fei Wu, Intel
- MyungJoo Ham, Samsung
- Sunil VL, Ventana
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Robin Randhawa, SiFive
- Anup Patel, Ventana
- Nathan Egge, Google
- Andrei Warkentin, Intel
- Simon Harvey, Imagination
- Ludovic Henry, Rivos
- Tim Ouyang, Andes
Agenda
- Language Runtimes Deep Dive led by Ludovic Henry
- RFP - Process; Status Update
- Requiring RVWMO minimum target for development projects
- Xen interest?
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Language Runtimes Deep Dive led by Ludovic Henry
- Optimization Guide is Live!
- Get better address than
https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/ - Working with Michelle on that
- Get better address than
- https://gitlab.com/riseproject/riscv-optimization-guide
- Please contribute!
- Next steps
- RFP: Go Runtime
- Assembler and compiler
- Rotation, atomics, intrinsics, and more
- Support for Bitmanip
- Compiler optimizations
- Contract is still in process of being signed
- Ongoing contributions:
- Board farm
- Eager to see MILK-V Oasis in action
- Need to sync up with Distribution WG
- Need for Adoptium, Go Runtime, AlmaLinux/RockyLinux (for Python)
- LicheePi/VF2 enough for some workloads, not enough for others
- In discussions with AlmaLinux and RockyLinux to understand what they would need (sizing, access)
- Python packaging
- Upstream projects can’t package on RISC-V today
- Limitation of Python packaging tools
- We need to package and distribute Python packages
- We have a WIP to get it based on Ubuntu 22.04
- It’s being done internally at Rivos for nowWill push to RISE in the coming weeksAll based on GitLab
- Java 11 backport
- Goal is to get it packaged and tested on public CI by end of month
- Landed yesterday with openjdk/riscv-port-jdk11u:309291f1
- Going to setup Adoptium CI for that
- Java 17, 21 release
- Approved by PMC and Steering Comittee
- Adoptium is very eager to get it done
- Stuck on having HW for running TCK
- VF2 board on a desk is not an option at the moment…Working with Eclipse Foundation to make sure they have the resources and know-how to set it upBoard farm would be ideal here; Need for 7-10 LicheePi/VF2 for public + TCK CI
- Order of priority: 21, 17, 11
- V8 & Android
- https://chromium-review.googlesource.com/c/v8/v8/+/5309945 - Approved and merged
- Next: android_toolchain NDK to support RISCV64
- Talking to Nathan about that
- ISCAS has done the work to port V8 to Android RISC-V
- Open Floor
RFP - Process; Status Update
RFP# | Topic | WG | Comments |
RP027 | GCC Autovec | Toolchain | Needs proposal |
RP010 | GCC Shadow Stack Support | Toolchain | Needs proposal |
RP023 | OpenOCD Upstreaming | Debug and Profiling | Proposal ready for TSC commit |
RP017 | Valgrind for RISC-V | Debug and Profiling | Needs proposal |
TBD / RP026 | More audio/video codec optimization | System Libraries | Needs splitting into individual projects and proposals for each |
Many others … |
Requiring RVWMO minimum target for development projects
- Apropos of the broader question of what profile we mandate for our development work
- Recently there’s been more discussion about WMO and TSO
- Most RV designs are RVWMO (we believe)
- Are we all agreed that any development work that we are involved in that involves multithread concurrency should target RVWMO?
- This would ensure they work correctly on RVTSO
- But the converse isn’t true
Xen interest?
- Open Discussion
WG Opens
Future topics: WG Opens/challenges
AIs for this week:
- Define process for bidder questions and publication.
- Flesh out timeline for RFP process
AIs from last week
- ACTION: Paul to look into monthly cost of GKE
- ACTION: Discuss with Yocto if they want to become a member: Jefro is happy to support the discussion with Yocto
15 Feb 2024
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Heinrich Schuchatdt, Canonical
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Andrew de los Reyes (Adlr), Rivos
- Jeff Law, Ventana
- Jeffrey Osier-Mixon (Jefro), Red Hat
- Mason Li, MediaTek
- Nathan Egge, Google
- Tim Ouyang, Andes
- Trilok Soni, Qualcomm
Agenda
- Developer Infrastructure Deep Dive led by Paul Walmsley
- Association Collaborations - how to organize and discuss
- Adoptium, AGL, Yocto, ?
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Topics
- Developer Infrastructure WG Introduction & Vision
- Build Farm
- 2023Q4 Review
- 2024Q1 Midpoint Update
- Next Steps
- Board Farm
- Developer Tools
- Challenges
Developer Infrastructure WG Introduction
- Charter
- The Developer Infrastructure WG focuses on software and services to support open-source RISC-V developers - both RISE members and the broader open-source community.
- Co-chairs
- Barna Ibrahim (Rivos)
- Paul Walmsley (SiFive)
- TSC Contact
- Nathan Egge (Google)
Developer Infrastructure WG Vision
- Three mutually-supporting projects
- Integration of set of software and user space tools that are necessary to cross build or test.
- RISE Build Farm (Active)
- RISE Board Farm (In planning)
- RISE Developer Tooling (In planning)
- Goal
- Provide robust development infrastructure and tools to RISC-V developers
RISE Build Farm: Introduction
- Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Status
- Build Farm growing quickly…
- Four active projects spanning three RISE work groups
- 100% growth from 2023Q3
- … but need to grow faster!
Build Farm: 2023Q4 Review
- Broadened the administration base
- Björn Töpel (Rivos) now helping out with general admin tasks
- Two existing projects from 2023Q3 still running
- Linux kernel and gcc post-commit CI
- Two new projects added in December 2023
- Patrick O’Neill & Edwin Lu (Rivos)
- Ludovic Henry (Rivos)
- gcc pre-commit CI
- OpenJDK post-commit CI
- Improved policies and administration documentation
- Example: Project Proposal Form
Build Farm: 2024Q1 Midpoint Update (1 of 2)
- Kernel CI instances converted to use GKE - Björn Töpel (Rivos)
- Dealing with technical issues (to be discussed with Google)
- Costly, but well-integrated with Github Runners and offers easier scaling
- Still experimental and under review
- Kernel CI doing more work
- New projects in progress
- Patrick O’Neill & Edwin Lu (Rivos)
- GCC/LLVM toolchain fuzzing
Build Farm: 2024Q1 Midpoint Update (2 of 2)
- Broadening the administration base
- Brian “redbeard” Harrington (Red Hat) has expressed interest in helping
- Instance power control now available
- Should reduce spend for intermittent workloads (e.g. OpenJDK CI)
- Discussions in progress with LF IT on support options
- GKE support questions
- Build farm management assistance
Build Farm Next Steps for rest of 2024Q1
- Add more Build Farm projects
- Attend other WG meetings to solicit other projects
- Continue to improve operations
- Continue improving policies & procedures
- Continue improving documentation (wiki & internal)
- Continue investigating external IT assistance
- Continue recruiting more Build Farm Leads
- Enable webhook-driven builds
- Start tracking our admin service metrics
- Get cloud credit details from LF IT/Google Cloud
- Drive greater efficiency
- Review GKE value
- Implement power control on lightly-used instances
- Investigate spot instances
RISE Board Farm: Introduction
- Objective
- Many use cases: OpenJDK, Linux distributions, kernel, Go(?) …
- Provide a range of Linux-capable RISC-V boards to run functionality and performance tests on CI-generated code
- Investigate future feasibility of providing developer access to boards
- Curtis Galloway (Google) coordinating
- Status: Still very early days
- Discussions underway with RVIA, OSUOSL
RISE Developer Tools: Introduction
- Objective
- Ideally combines cross and native development environment and native system software and userspace
- Provide a full Linux system image build, boot, and development environment for use on both simulators (QEMU) and RISC-V hardware
- Discussed options so far: Nathan’s Gentoo build and OpenEmbedded
- No one yet coordinating
Challenges
- Improve administration turnaround time for creating new instances, etc.
- Better administrator attendance at our WG meetings
- Drive more activity on the Board Farm and Developer Tools projects
- Looking for help to drive the Developer Tools effort forward
- Need more build projects and project owners!
- Please help
Credits
- Barna Ibrahim (Rivos): Co-chair
- Björn Töpel (Rivos): Kernel CI Build Farm Project Admin, Build Farm Lead, Build Farm Administrator
- Curtis Galloway (Google): Board Farm Lead
- Edwin Lu (Rivos): Toolchain Build Farm Project Admin
- Ludovic Henry (Rivos): Language Runtimes Build Farm Project Admin
- Patrick O’Neill (Rivos): Toolchain Build Farm Project Admin
- Paul Walmsley (SiFive): Co-chair
Language Runtime WG Adoptium Membership Proposal
- Adoptium Introduction
- Only fully Open Source Java vendor - Alignment with RISE Goals
- OSS test suite used by Ubuntu and Redhat JDK
- RISE Adoptium Sponsorship Benefits
- Deeper engagement and visibility with Java Community
- Adoptium is one of the most used Java distribution
- Provide machines to Adoptium (Build farm, Board farm)
Association Collaborations
- Adoptium Introduction
- Only fully Open Source Java vendor - Alignment with RISE Goals
- OSS test suite used by Ubuntu and Redhat JDK
- Board approved supporting via CI services and perhaps get RISE logo listed
- Discussions around Adoptium, AGL, Yocto
- ACTION: Discuss with Yocto if they want to become a member: Jefro is happy to support the discussion with Yocto
- How should we propose and track these?
- Any RISE spend should ensure value for money
RFP Contract Status Update
RFP# | Topic | WG | Phase | Status |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 3: Publication & Bidding | Awarded |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Publication & Bidding | Bidding Closed |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 3: Bidding Review | Awarded. |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | Waiting for Bid/SOW from Engineer |
RP002 | Multimedia Enablement | System Libraries | Phase 4: Bid Review & Award Contract | Contracts Out for Signature |
RP001 | Accelerate Go Runtimes | Language Runtimes | Phase 4: Bid Review & Award Contract | Contracts Out for Signature |
Working Groups Opens / Challenges
- Open Discussion
Future Topics Parking Lot
Please add topic to be discussed for future meetings
AIs for this week
- ACTION: Paul to look into monthly cost of GKE
- ACTION: Discuss with Yocto if they want to become a member: Jefro is happy to support the discussion with Yocto
08 Feb 2024
- Gordan Markus, Canonical
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Heinrich Schuchatdt, Canonical
- Tomas Evensen, AMD
- Jian Xiong, Alibaba
- Barna Ibrahim, Rivos
- Fei Wu, Intel
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Simon Harvey, Imagination
- Robin Randhawa,SiFive
- Mark Zhuang, SpacemIT
- Ludovic Henry, Rivos
- Victor Costan, Google
- Kumar Sankaran, Ventana
- Steve Wanless, Redhat
- Anup Patel, Ventana
Agenda
- Simulator Emulator Deep Dive led by Daniel Barboza
- Debug & Profiling Deep Dive Led By Fei Wu
- RISC-V Optimization Guide Publication
- RFP: RP004 Review and Status
- WG Opens/challenges
- Firmware: OP-TEE WG Opens
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Simulator Emulator Deep Dive led by Daniel Barboza
- WG 2023 wrap-up
- WG 2024 item status
- Projects not yet started
- Projects in progress, not yet sent for review
- Projects under review
- 2023 wrap-up:
- SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
- SE_01_002 - QEMU Virtual IRQ and IRQ filtering support
- SE_01_014 - QEMU query-cpu-model-expansion API
- SE_02_001 - QEMU Vector crypto support
- SE_01_009 - QEMU ACPI support for AIA
- SE_01_010 - QEMU ACPI support for PLIC
- SE_01_011 - QEMU RVA22 profiles support
- SE_01_005 - QEMU PCIe passthru on x86 host
- Projects completed and available in QEMU 8.0 (launched Dec 2023):
- Projects completed and available in QEMU 9.0 (to be released April 2024):
- Projects not completed in time and pushed to 2024:
- 2024 projects - not yet started
- Tracker project
- Project RP005 Add QEMU TCG support for V and Zvk
- Bidding ends Feb 2nd
- RISE contacts: Max Chou (Si-Five) and Daniel Barboza (Ventana)
- SE_01_003 - QEMU WorldGuard support
- SE_01_016 - QEMU linux-user hwprobe kernel parity
- SE_01_021 - QEMU RVA23 profile support
- SE_02_004 - QEMU RVV performance enhancements
- 2024 projects - in progress, not sent for review
- Community project (Starfive)
- Community project (Starfive)
- SE_01_017 - QEMU ACPI SPCR support for RISC-V
- SE_01_018 - QEMU ACPI PPTT support for RISC-V
- SE_01_019 - QEMU ACPI SRAT/SLIT(NUMA) support for RISC-V
- SE_01_020 - QEMU SMBIOS support for RISC-V
- 2024 projects - upstream progress ongoing
Debug & Profiling Deep Dive Led By Fei Wu
- 2023 projects
- Code ready for running integer part of RVV instructions, but in slow review process
- v7 patch submitted, hoping get pushed soon
- Technical ready, but rv32 on llvm is inactive, not only asan
- DP_04_001 - Userspace Cycle/Instret access (Done)
- DP_01_002 - Evaluate GDB status on RISC-V (Done)
- DP_02_002 - Evaluate LLDB status on RISC-V (Done)
- DP_00_001 - Valgrind vector support
- DP_01_003 - GDB Simulator - Add Zc support
- DP_05_001 - Address Sanitizer
- 2024H1 new projects
- DP_04_002 - Perf event discovery/encoding from json file (Dev Done)
- DP_04_003 - Perf CTR (equivalent of x86 LBR) support (Dev Done)
- DP_04_004 - Perf CTR call stack mode support (WIP)
- DP_07_003 - DynamoRIO drcachesim & drcov support (WIP)
- DP_07_004 - DynamoRIO V extension support
- DP_07_005 - DynamoRIO enable remaining tests that are also supported by AArch64
- DP_07_006 - DynamoRIO RISC-V specific documentation
- Software performance regression CI Infrastructure (Discussion)
- Currently, many software optimizations on RISC-V are performed on QEMU or non-representative hardware with limited resources. These optimizations are based on the developer's interpretation of the features, which may not align with the actual hardware or may vary across different hardware.
- Software performance regressions are a common occurrence and it's crucial that we identify and fix them at the earliest possible stage.
- Problem to solve
- Linaro extends LKFT (Linaro Kernel Functional Test) functionalities to include automatic detection and reporting of performance regressions in 2021
- Test on real hardware and focus on key software, easy to scale to other software
- RFP?
RISC-V Optimization Guide Publication
- TSC Optimization Guide discussion; Agreement on dropping the vendor languages for the release - Merged.
- This is a living document and will continued to be updated
- Publish the Optimization Guide 02/09/2024
- Follow up with RVI leadership on the published link.
RFP Status - Phase 3
RFP# | Topic | WG | Phase | Status |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 3: Publication & Bidding | Bidding Closed |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Publication & Bidding | Bidding Closed |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 3: Bidding Review | Bidding Closed |
RFP Status - Phase 4 Contract
RFP# | Topic | WG | Phase | Status |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | Waiting for Bid/SOW from Engineer |
RP002 | Multimedia Enablement | System Libraries | Phase 4: Bid Review & Award Contract | Contracts Out for Signature |
RP001 | Accelerate Go Runtimes | Language Runtimes | Phase 4: Bid Review & Award Contract | Contracts Out for Signature |
RFP Status - Phase 1: Conception
RFP# | Topic | WG | Comments |
RP027 | GCC Autovec | Toolchain | Needs proposal |
RP010 | GCC Shadow Stack Support | Toolchain | Needs proposal |
RP023 | OpenOCD Upstreaming | Debug and Profiling | Proposal ready for TSC commit |
RP017 | Valgrind for RISC-V | Debug and Profiling | Needs proposal |
TBD / RP026 | More audio/video codec optimization | System Libraries | Needs splitting into individual projects and proposals for each |
Many others … |
Firmware: OP-TEE WG Opens
Rationale
Risk of fragmentation
- Multiple orgs are already working on OP-TEE ports to RV64
- 5 known so far, probably more exist
- The fragmentation scope is likely to increase over time
- Especially as ‘new’ security architecture features gain traction
- Eg WorldGuard, SMMTT et al
Technical challenges
- OP-TEE presents some technical challenges for RISC-V
- These need structured debate, design and development
- Eg OP-TEE’s pre-emption model is tricky for RISC-V
- OP-TEE will probably have M-Mode dependencies
Strategic issues
- Upstream OP-TEE does not have a RISC-V maintainer
- OP-TEE is fundamentally an Arm led initiative
- A fragmented upstreaming effort will benefit no one
Logistical challenges
- A public platform is needed
- That supports relevant security features
- Qemu virt is a natural default option
- But similar risks apply here as well
- Alignment needed on the nature of qemu support
- Such alignment needs a RISC-V specific forum
RISE as a convergence point will mitigate these problems
Collaboration model outline
Key elements
- An OP-TEE focus group within the Firmware WG
- A public OP-TEE staging repository within RISE
- A RISE hosted OP-TEE specific blog (or similar)
Workflow
Work definition and delegation
- The focus group collaborates on work definition, delegation
- Establishing dependencies on other WGs or projects, if any
- Outputs are published externally on the blog
- Promotes wider community awareness
- Reduces the potential for any redundant work etc
Code contribution
- Code contributions are ‘collected’ in the staging repository
- From both RISE members and non-members
- The focus group resolves any ‘impedance mismatches’
- Between work in this repository, the OP-TEE upstream, etc
Upstream pull requests
- Code contributions are suitably reviewed and processed
- Upstream PRs are raised by relevant work owners
Upstream review
- The focus group helps resolve upstream queries etc
- Through to upstream inclusion of code
Questions and Concerns
OP-TEE focus group
- Is there precedent for such a thing ?
- Why can’t we just engage directly with upstream instead ?
- What is the structure of such a focus group ?
- What is the impact on other FW WG work ?
OP-TEE staging public code repository
- Is there precedent for such a thing ?
- We don’t want to create another upstream
- Such a repository needs ownership and maintenance
- Also a branching regime etc
OP-TEE public blog
- Is there precedent for such a thing ?
- This needs ownership and maintenance
- Info on this blog needs to be ‘well formed’ - needs thought
Miscellaneous
- The existing OP-TEE RFP may be used to kickstart work
- Nuclei’s publicly available work can help too
WG Opens/challenges
AIs from last week
- Rise optimization guide - Action: policy process for optimization guide, how do we implement this? [barna] Ludovic to send email. Finalize next week on the opens slide [done]
- Toolchain/compilers — Fix sanitizers: Barna to take a look [barna] I will follow up with Jeff and add to the slide if there is update. [WIP]
- Proposal to be sent out by Paul for TLSDESC [barna] great we can add this to AIs from last week.
- OP-TEE to be added to next weeks TSC agenda. Paul and Robin [done]
- Deeps for next week agenda both Fei and Daniels
01 Feb 2024
- Jeff Law, Ventana
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Barna Ibrahim, Rivos
- Larry Wikelius, Qualcomm
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Jian Zhang, BOSC
- Ludovic Henry, Rivos
- Victor Costan, Google
- Adlr (Andrew de los Reyes), Rivos
- Jefro (Jeffrey Osier-Mixon), Redhat
- Kumar Sankaran, Ventana
- Mason Li, Mediatek
- Steve Wanless, Redhat
Agenda
- Board Representative Larry Wikelius (Qualcomm)
- RISE Optimization Guide
- RFP Prioritization Approvals
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Board Representative/Treasurer Larry Wikelius (Qualcomm)
- RISE delivering results: Working Groups and RFPs
- 6 RFPs in 2023
- We have a solid 2024 Pipeline with renewals and new member interest:
- 19 Members today (Launched w/ 13 in May, 2023)
- Numerous other companies interested in joining
- The Board is relying on TSC to identify the gaps and efforts needed
- Window of opportunity is now to build on overall RVI momentum
- The Board is confident of providing needed funding
- RISC-V EU Summit [June 2024] is a key target for us to Showcase RISE Ecosystem contributions https://riscv-europe.org/summit/2024/
- RISE 1 year anniversary
- Critical to highlight key accomplishments
- Emphasize EU engagements
- Potential for additional membership outreach
RISE Optimization Guide
RFP Process
- Phase 1: Conception
- Tech Lead to work with Working Group and get support from the TSC
- TSC to sign off to go to the Board
- Phase 2: Approval (Board)
- Phase 3: Publication & Bidding
- LF PMs to help setting up the publication on wiki
- Outreach team to post on Linkedin and mailing list
- Phase 4: Bid Review & Award Contract
- Tech Lead to review and provide recommendations for the award
- Phase 5: Execution
- LF PM to lead the contract execution
- TL to with the contractor/developer to ensure work is done
- Phase 6: End of Contract
- TL to summarize the outcome to TSC;
- Summary to the Board
RFP Status - Phase 3
RFP# | Topic | WG | Phase | Status |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 3: Publication & Bidding | Bidding ends 02/02 |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Publication & Bidding | Bidding ends 02/02 |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 3: Publication & Bidding | Bidding ends 01/26 |
- Discuss RF004 on 2/7 7am TSC meeting; TL Robin Randhawa
RFP Status - Phase 4 Contract
RFP# | Topic | WG | Phase | Status |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RP002 | Multimedia Enablement | System Libraries | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RP001 | Accelerate Go Run Times | Language Run Times | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RFP Status - Phase 1: Conception
RFP# | Topic | WG | Comments |
GCC Autovec | Toolchain | ||
GCC Shadow Stack Support | Toolchain | ||
Valgrind for RISC-V | Debug and Profiling | ||
RISE RFP Pipeline
Next 3 Projects to move forward with
- RP007 OpenOCD Upstreaming
- RP008 Port OP-TEE to RV64
- Maybe RISE-internal?
- RP013? RP016?
Working Groups Opens / Challenges
- Potential RFPs from toolchain/compilers WG
- Improve long-branch sequences
- Fix sanitizers with user mode emulation and native (sv48)
- TLSDESC support for GCC (LLVM has landed)
- Cross-compilation of flang for LLVM?
- GCC Spec Optimization
- LLVM Spec Optimization
- Open Discussion
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- Topic
AIs for this week
- Topic
25 Jan 2024
Attendees
- Jeff Law, Ventana
- Michelle Martineau, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Nathan Egge, Google
- Barna Ibrahim, Rivos
- Larry Wikelius, Qualcomm
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Simon Harvey, Imagination
- Anup Patel, Ventana
- Heinrich Schuchardt, Canonical
- Jian Xiong, Alibaba
- Jian Zhang, BOSC
- Robin Ranhawa, SiFive
- Ludovic Henry, Rivos
- Ming-Yu hung, MediaTek
- Victor Costan, Google
Agenda
- Board Representative Larry Wikelius (Qualcomm)
- Contractor project payments
- Kernel and Virtualization Deep Dive led by Anup Patel
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Board Representative Larry Wikelius (Qualcomm)
- RISE delivering results: Working Groups and RFPs
- 6 RFPs in 2023
- We have a solid 2024 Pipeline with renewals and new member interest:
- 19 Members today (Launched w/ 13 in May, 2023)
- Numerous other companies interested in joining
- The Board is relying on TSC to identify the gaps and efforts needed
- Window of opportunity is now to build on overall RVI momentum
- The Board is confident of providing needed funding
- RISC-V EU Summit [June 2024] is a key target for us to Showcase RISE Ecosystem contributions https://riscv-europe.org/summit/2024/
- RISE 1 year anniversary
- Critical to highlight key accomplishments
- Emphasize EU engagements
- Potential for additional membership outreach
Contractor project payments
Contracts and Payments to RISE Vendors are experiencing delays.
What’s happening?
- We are working out the contracts for LFEU to pay international vendors.
- LFEU has to work with the EU VAT tax authorities to ensure we are processing payments legally as a European nonprofit entity.
- This is taking a while but I anticipate A resolution in the next couple of weeks.
- LFEU legal and financial teams are managing this.
Kernel and Virtualization Deep Dive led by Anup Patel
AGENDA:
- RVA23 profile extensions
- Updates on discovery
- Overall status
- 2023-2H
- Updates on projects
- Status on priorities
- Overall status
- 2024-1H
- Final priorities
- Overall status
RVA23 updates on Discovery
- List of RVA23 profile extensions on wiki in-sync with latest spec
- HWPROBE additions (in past 3 months)
- Zicboz, Zfhmin, Zkt, Zvfhmin, Zvbb, Zvkt
- Zvkned, Zvknhb, Zvkb, Zvkt, Zvkg, Zvksed, Zvksh, Zvkb, Zvbc
- Zihintntl, Zicond, Zacas, Zfa, Zfh, Zbc, Zvfh
- KVM ONE_REG additions (in past 3 months)
- Zfhmin, Zkt, Zvfhmin, Zvbb, Zvkt
- Zvkned, Zvknhb, Zvkb, Zvkt, Zvkg, Zvksed, Zvksh, Zvkb, Zvbc
- Zihintntl, Zicond, Zfa, Zfh, Zbc, Zvfh
RVA23 Extensions overall profile status
- Total 83 extensions (25-01-2024, wiki)
- Kernel HWPROBE (25-01-2024)
- NA - 36 (43.37%)
- TBD - 16 (19.28%)
- COMPLETED - 31 (37.35%)
- KVM ONE_REG (25-01-2024)
- NA - 10 (12.05%)
- TBD - 27 (32.53%)
- COMPLETED - 46 (55.42%)
2023 2H Project Updates
- LK_01_020 - Vector crypto extensions discovery using HWPROBE
- Development: Completed, Upstreaming: Completed
- LK_01_033 - Bitmanip extensions discovery using HWPROBE
- Development: Completed, Upstreaming: Completed
- LK_02_004 - KVM AIA irqbypass
- Development: Completed, Upstreaming: TBD
- LK_02_019 - KVM vector crypto extensions virtualization
- Development: Completed, Upstreaming: Completed
- Kernel
- STILL NO ACTIVITY from RISE member
- New kernel irqchip maintainer has requested few changes in the AIA DT drivers
- AIA ACPI support upstreaming blocked on DT drivers
- Being done along with AIA ACPI support
- STILL NO ACTIVITY from RISE member
- Sdtrig spec is frozen but the SBI DBTR spec will be part of SBI v3.0
- Memory Hot(Un)plug
- KASAN support
- Basic ACPI support
- AIA support (DT, ACPI)
- PLIC support (ACPI)
- IOMMU (DT)
- Vector extension support
- Vector crypto extension discovery using HWPROBE
- Native/hosted debug support (aka HW breakpoints)
- Bitmanip extension discovery using HWPROBE
- KVM
- Patches on LKML blocked on AIA DT driver upstreaming
- Work being done in a fork since it depends on AIA DT driver and IOMMU upstreaming
- Sdtrig spec is frozen but the SBI DBTR spec will be part of SBI v3.0
- Vector extension virtualization
- AIA irqchip (incl. kvmtool and qemu support)
- AIA IMSIC guest file support
- AIA irq-bypass (aka Device MSI virtualization, incl. kvmtool and qemu)
- KVM vector crypto extension virtualization (incl. kvmtool and qemu)
- KVM Native/hosted debug virtualization
- KVM bitmanip extension virtualization (incl. kvmtool and qemu support)
Overall Status:
- Total 27 projects (25-01-2024, wiki)
- Development (25-01-2024)
- TBD - 2 (7.41%)
- PROTOTYPE - 2 (7.4%)
- Native/hosted debug blocked on specifications
- ONGOING - 0 (0%)
- COMPLETED / NOTNEEDED - 23 (85.19%)
- Upstreaming (25-01-2024)
- TBD - 6 (22.22%)
- ONGOING - 7 (25.93%)
- COMPLETED / NOTNEEDED - 14 (51.85%)
2024-1H: Final priorities
- Kernel
- HWPROBE discovery for for Z* and S* extensions included in RVA23 profile
- ACPI LPI support
- ACPI CPPC support
- ACPI PPTT support
- ACPI NUMA support
- ACPI SPCR support
- Steal time support
- System suspend support
- Debug console support
- PMU snapshot support
- ISA Extensions
- ACPI improvements
- SBI v2.0
- KVM
- ONE_REG discovery for Z* and S* extensions included in RVA23 profile
- Steat time support for Guest (incl. KVMTOOL and QEMU-KVM)
- System suspend support for Guest (incl. KVMTOOL and QEMU-KVM)
- Debug console support for Guest (incl. KVMTOOL and QEMU-KVM)
- PMU snapshot support for Guest (incl. KVMTOOL and QEMU-KVM)
- KVM selftests
- Host nested acceleration (Defined by SBI v2.0)
- ISA extensions
- Virtualize SBI v2.0 support
- Xen
- Shared memory and event channel
- IOMMU driver
2024-1H: Overall status
- Total 43 projects (25-01-2024, wiki)
- Unassigned - 6 (13.95%)
- Development (25-01-2024)
- TBD - 13 (30.23%)
- ONGOING - 4 (9.30%)
- COMPLETED - 26 (60.47%)
- Upstreaming (25-01-2024)
- TBD - 20 (46.51%)
- ONGOING - 13 (30.23%)
- COMPLETED - 10 (23.26%)
Follow up: Compilers and Toolchains Deep Dive (1/18/24)
- Effort just starting to evaluate LLVM & GCC against each other to help drive improvements in both
- Initial focus on Spec2017 (int and fp) on rv64gcv+bitmanip
- Dynamic instruction counts rather than uarch/cycle metrics for now
- GCC/LLVM Vector Investigations Internal to RISE right now
- Goal is help both compilers know where to focus improvement efforts going forward, not to promote one compiler over the other or one design over another
WG Opens
Future topics: WG Opens/challenges
- Select 2-3 priorities from the RFP list to discuss next week https://docs.google.com/spreadsheets/d/1r4FEX_uSKO_oSdFZhuUCikcfml1GiqOCb2NqQPk44qg/edit#gid=0
- OpenOCD Upstreaming presented
- Port OP-TEE to RV64 presented
AIs from last week
- ACTION: Revist GCC/LLVM Vector Investigations spreadsheet during next week's TSC call (1/25 Zoom link here) to see who has added to the spreadsheet.
- ACTION: Jeff to send out an email out to the team about the GCC/LLVM Vector Investigations spreadsheet making both AM & PM TSC members aware.
- ACTION: Look at the overall RISE projects that are within the pipeline and choose which RFPs we want to focus on next. To be revisiting for the 1/25 TSC meeting (Zoom link here.)
18 Jan 2024
Attendees
- Jeff Law, Ventana
- Tim Ouyang, Andes
- Evan Harrison, The Linux Foundation
- Erich Hanke, AMD
- Tomas Evensen, AMD
- Nathan Egge, Google
- Barna Ibrahim, Rivos
- Gorden Markus, Canonical
- Brian 'redbeard' Harrington, Redhat
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Terje Bergstrom, Nvidia
- Victor Costan, Google
Agenda
- Compilers and Toolchains Deep Dive led by Jeff Law
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Compilers and Toolchains Deep Dive
- Effort just starting to evaluate LLVM & GCC against each other to help drive improvements in both
- Initial focus on Spec2017 (int and fp) on rv64gcv
- Dynamic instruction counts rather than uarch/cycle metrics for now
- Goal is help both compilers know where to focus improvement efforts going forward, not to promote one compiler over the other or one design over another
- ACTION: Jeff to send out an email out to the team about this topic and to make both the AM and PM attendees aware of the news.
Compilers and Toolchains Deep Dive – GCC
- CRC optimization
- Detect and optimize CRC loop to table lookup or clmul
- 10-20% on Coremark depending on clmul/memory latency
- Works on more than just Coremark
- Implementation done. Upstreaming effort to start shortly
- Autovectorization focus expanding to include specfp
- Wrf (70%), roms (35%), cam4 (17%), fotonik (12%), bwaves (5%), cactuBSSN (5%) parest (5%)
- Initial evaluation starting with instruction counts
- Expecting to see results similar to x86_64 and aarch64
- Additional mem* and str* vector optimizations
- Inline expansion when source/destination may overlap
- glibc ifunc based implementations of key routines as well
Compilers and Toolchains Deep Dive – GCC
- Other FP optimizations
- Use rsqrt estimator to improve key (unvectorizable) loop in nab - not 100% sure it’s profitable, will need testing
- Use dual fmacs and recip estimator to improve atan2 which is heavily used by WRF benchmark
- Increase lookahead in scheduler – becomes more important as we start seeing dual FPU designs
- Stack Clash Mitigations
- Naive implementation limping along already
- Good implementation (reduce explicit probing) underway
- Closest to AArch64 implementation, needs PSABI verbage
Compilers and Toolchains Deep Dive – LLVM
- Big thanks to Craig Topper (SiFive) for covering LLVM
- Split register allocator, vector first, then scalar registers
- Allows for vsetvl insertion between phases so vector registers can be partially spilled
- Stop considering conditional branches as “expensive”
- Prefers multiple branches over logicals to combine several branches into one
- LTO vs -march/-mcpu issues in crosshairs
- Core-V support (xcvmem, xcvelw)
- Intrinsic and assembler support for various new extensions
- Global Dynamic TLSDESC
- ULEB128 relocation support for DWARF V5 & C++ exceptions
- Vector calling conventions merged. Proposal for passing fixed length vectors in vector registers under review
- The RFP is in the pipeline right now and should close in February. This could also start as a Compiler email thread, and if needed this can be further discussion inside the Compiler's meeting.
Dev Infra: Board Farm Update
- RISC-V International Effort overview
- Dev Boards program enabling developers with hardware.
- Labs Cloud Access - CI enablement; No common interfaces, or common operational standards (yet).
- Considerations for next steps are
- RISE can propose/sponsor a Program and leverage the existing RVI infrastructure to enable hardware with developers.
- Longer Term: How best to enable CI jobs that require RISC-V Hardware. Utilize labs such as OSU-Open Source lab etc.
Working Groups Opens / Challenges
Open Discussion
- We should take a look at what are next project ideas are for the next round. What do we want the rest of the working groups want to handle after we finish these rounds of projects.
- Open OCD upstreaming: This could be a good project to consider (Tim Newsome could be the contractor, or some other group that can drive this forward.)
- ACTION: Look at the next projects within the pipeline for the next TSC meeting
K230 Developer Resources
- Several of us have received second run of Canaan Kendryte boards
- CanMV-K230-V1.1 is second gen hardware
- Good installation guide for Debian on this board can be found here:
- https://www.remlab.net/op/k230-canmv-debian.shtml
- Also works for other distributions if you replace the rootfs
- Does anyone need access who does not already have it?
- Interim access possible, send ssh key to negge@google.com
- Official support on 5.10.4, how can we move to mainline kernel?
- Daniel Barboza and Redbeard shared a unified importnace of the work that is happening on this mainline kernel.
- Is there work around upstreaming the work, or is it more about testing a new kernel and seeing what happens.
- In some levels there needs to be distrobution of the kernel if we can't upstream it.
- The position that Nathan and the team would like to be is to build the Kernel and then upstream the work.
- https://github.com/cyyself/opensbi/tree/k230
- https://github.com/cyyself/linux/tree/k230-mainline
- Questions: Nathan is concerned if there is an importance of this.
- How do we want to encourage this work to happen?
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- Insert topic
AIs for this week
- ACTION: Revist GCC/LLVM Vector Investigations spreadsheet during next week's TSC call (1/25 Zoom link here) to see who has added to the spreadsheet.
- ACTION: Jeff to send out an email out to the team about the GCC/LLVM Vector Investigations spreadsheet making both AM & PM TSC members aware.
- ACTION: Look at the overall RISE projects that are within the pipeline and choose which RFPs we want to focus on next. To be revisiting for the 1/25 TSC meeting (Zoom link here.)
AIs from last week
- Call for review for Optimization guide specifically -
- How and If Vendor specific comments; Who is the Target Audience. 2 week review input window once all the RISE folks have access on Git.
- Encouraging the teams to look at additional RFPs.
11 Jan 2024
- Anup Patel, Ventana
- Barna Ibrahim, Rivos
- Brian 'redbeard' Harrington
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Evan Harrison, Linux Foundation
- Fei Wu, Intel
- Heinrich Schuchardt, Canonical
- Jian Zhang, BOSC
- Ludovic Henry, Rivos
- Ming Yu-Hung, Mediatek
- Nathan Egge, Google
- Paul Walmsley, SiFive
- Ruinland Tsai,
- Simon Harvey, Imagination
- Sunil L, Ventana
- Tim Ouyan, Andes
- Tomas Evensen, AMD
- Victor Costan, Google
Agenda
- Firmware Deep Dive led by Sunil V L
- Optimization Guide Status
- RFP Update
- Heads up: Q1 2 FTE Report
- WG Opens
- Future topics: WG Opens/challenges
- AIs from last week
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
Firmware Deep Dive
- New projects added.
- 2H 2023 Project Status
- 1H 2024 Projects (Draft)
- Discussion Topics
FW WG - New projects added
- EDK2
- EDK2_00_18 - RISC-V QEMU Server Reference Platform - 1H 2024
- COREBOOT
- COREBOOT_00_01 - coreboot for SiFive Unmatched - 1H 2024?
- COREBOOT_00_02 - coreboot for StarFive VisionFive2 - 1H 2024?
- COREBOOT_00_03 - LinuxBoot for coreboot on RISC-V - 2H 2024
- COREBOOT_00_04 - TianoCore for coreboot on RISC-V - 2H 2024
- HPC (?)
- HPC_00_01 - Minimal functional SBI definition for HPC (placeholder)
- OP-TEE
- OPTEE_00_01 - OP-TEE support for RISC-V - 2H 2024
FW WG - 2H 2023 - Projects Status
FW WG - 1H 2024 - Projects (DRAFT)
FW WG - Discussion Topics
- Projects discovering spec gaps. Spec freeze may take time.
- Large projects are difficult to break down initially and then can spill over into next half.
- Projects being done by non-RISE members. How to update wiki page?
- RISE specific gitlab/github.
RISC-V Optimization Guide Discussion
- Leads Ludovic and Simon
- Licencing The various RVI specs are distributed under the CC-BY-SA-4.0 license (Ex. RISC-V ISA Manual ).
- Moved to Git invite only within RISE team members.
Time lines:
- 11/06/2023 - 01/15/2023 Seeking feedback from RISE
- 01/15/2023 Inform RVI and give access to the document.
- Week of Jan 31st, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
- How many people can we add to the repo, question for Michelle
- Adjust the timelines until people can get access to gitlab
- Is it possible to get accss to the repo before, Michelle has sent information for DCMA to github. Nathan has to look into this information.
- When we get more contributors, Ludovic will send out an email and this will kickoff the two weeks date for feedback from RISE.
RFP Process
- Phase 1: Conception
- Phase 2: Approval (Board)
- Phase 3: Publication & Bidding
- Phase 4: Bid Review & Award Contract
- Phase 5: Execution
- Phase 6: End of Contract
RFP Progress - for the Board
RFP# | Topic | WG | Phase | Status |
RP006 | LLVM CI Improvements | Dev Infra/ Toolchain | Phase 3: Publication & Bidding | Bidding ends 02/02 |
RP005 | TCG Translation for RVV Instructions | Simulators/ Emulators | Phase 3: Publication & Bidding | Bidding ends 02/02 |
RP004 | Rust Tier-1 Support for RV64 Linux | Toolchain | Phase 3: Publication & Bidding | Bidding ends 01/26 |
RP003 | libjpeg-Turbo | System Libraries | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RP002 | Multimedia Enablement | System Libraries | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RP001 | Accelerate Go Run Times | Language Run Times | Phase 4: Bid Review & Award Contract | LF Payment Set up |
RFP Pipelines for TSC
RFP# | Topic | WG | Comments |
RP007 | GCC Autovec | Toolchain | |
RP008 | GCC Shadow Stack Support | Toolchain | |
RP009 | Valgrind for RISC-V | Debug and Profiling | |
RP010 |
Working Groups Opens / Challenges
- Open Discussion
- Can we improve accountability so that users are updating the wiki pages for their corresponding working groups?
- Refer to FTE slides and reports will be going out mid January.
Heads up 2 FTE Report Q1
- 2 FTE reporting is on a quarterly basis
- The next request will be in mid-January to cover Oct to Dec 2023
- Feedback & Examples from first FTE reporting
14 Dec 2023
Attendees:
- David Weaver, Akeana
- Nathan Egg, Google
- Victor Costan, Andes
- Barna Ibrahim, Rivos
- Tim Ouyang, Andes
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- Brian (Redbeard) Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Evan Harrison, The Linux Foundation
- Jeff Law, Ventana
- Erich Hanke, Canonical
- Tomas Evensen, AMD
- Ammone Chapackdee, Ventana
- Andrew de los reyes (Adlr), Rivos
- Ludovic Henry, Rivos
- Trilok Soni, ISCAS
Agenda
- RISC-V Optimization Guide
- Valgrind RISC-V Porting discussion follow up
- WG Opens
- LLVM CI RFP Status
- Future topics: WG Opens/challenges
- AIs from last week
- 2FTE Reporting Best Practices
- Meeting on January 4th
Appendix
- 2024 Deep Dive Schedule
- Please review and inform Evan of any changes needed
RISC-V Optimization Guide Discussion
- Leads Ludovic and Simone
- Added Intended Audience and Vendor Neutrality language
- Licencing The various RVI specs are distributed under the CC-BY-SA-4.0 license (Ex. RISC-V ISA Manual ).
- What is the specific use case for this? The question from the team is, who is this directed towards?
- The team has decided to continue work on this document before it is published.
- ACTION:
- Decision: Move to Gitlab only with RISE team members
Time lines:
- 11/06/2023 - 12/15/2023 Seeking feedback from RISE
- 12/15/2023 Inform RVI and give access to the document. Can we resolve the comments inputs?
- We pushing this back to the week of 1/8/24
- ACTION: Check in with team after the holidays to see if they are ready to present to RVI
- Week of Jan 8th, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
Debug & Profiling: Valgrind Porting to RISC-V
- No RISC-V support on Valgrind
- Valgrind ownership?
- Valgrind-riscv64; poc-rvv
- There needs to be a further discussion on this topic: Barna and Jeff will take this offline to further schedule. To be picked up in Jan.
Working Group Opens
Python Packaging Challenge
- TL;DR: building python packages depends on AlmaLinux 8 which doesn’t support RISC-V
- The two, non-exclusive, and complementing proposals are:
GCC Auto Vectorization
- Autovec in GCC is new and there is a need to push to improve codegen.
- Other architectures have honed autovec with years of work and dozens of engineers working. This is one step in evening the field.
- Have RISE to explore what it takes and then determine next steps.
- ACTION: Jeff will write up a plan to discover exaclty what next steps look like. A further meeting needs to happen to discuss this effort.
RFPs Status
RFP006 - LLVM Testing Improvements
- RISC-V LLVM Testing Improvements RFP - needs add. work
- RFP Timeline:
- Please provide input within the next 48 hours.
- Input to be gathered on Sunday 11/17
Project RP004: Support 64-bit RISC-V Linux port of Rust to Tier-1
- Timeline: 12/8 - 12/29
- Request extend the timeline from contractors. Extended till 1/12
- The team is okay to push this date
- Ammone will remove the timeline and expected date on the RFP
- ACTION: create an mailing list for the RFP updates. This would be a third-party mailing list exclusive so non-members can receive udpates.
RFP Pipeline
2 FTE Reporting Feedback
- 2 FTE reporting is on a quarterly basis
- The next request will be in mid-January to cover Oct to Dec 2023
- TSC Co-chairs recommend the examples on the next slide as the type of detail and information that is helpful
Working Groups Opens / Challenges
- Open Discussion
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- RFP Update/ Status
- AIs for this week
- Contact Nathan
- ACTION:Decision: Move to Gitlab only with RISE team members
- ACTION: Check in with the team after the holidays to see if they are ready to present to RVI
- ACTION: Jeff will write up a plan to discover exactly what next steps look like. A further meeting needs to happen to discuss this effort.
- ACTION: create a mailing list for the RFP updates. This would be a third-party mailing list exclusive so non-members can receive updates.
AIs from last week
- Public Distro and Integration Public meetings Scheduled
- Contractor bid accepted, LF contracting process is underway
- Valgrind: Follow up with broader community
- Debug and Profiling to focus on the first three items ( Open On-Chip Debugger, DynamoRIO, Valgrind) and hold for SimplePerf for now.
- Wrap-up on the stack-clash contractor proposal (drop, Ventana will cover)
- Wrap-up on the GCC testing contractor proposal from Embecosm (drop, under control and standard upstream procedures should keep it under control going forward)
2024 TSC/GB Deep Dive Schedule
07 Dec 2023
Attendees:
- David Weaver, Akeana
- Nathan Egg, Google
- Victor Costan, Andes
- Barna Ibrahim, Rivos
- Fei Wu, Intel
- Tim Ouyang, Andes
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- Brian (Redbeard) Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Paul Walmsley, SiFive
- Robin Randhawa, SiFive
- Michelle Martineau, The Linux Foundation
- Jeff Law, Ventana
- Anup Patel, Ventana
- Erich Hanke, Canonical
- Jian Xiong, Alibaba
- Ken Unger, Microchip
- MyungJoo Ham, Samsung
- Ming-Yu Hung, MediaTek
- Simon Harvey, Imagination
- Tomas Evensen, AMD
- Gordan Markus, Canonical
Agenda
- System Libraries Deep Dive Q&A (Nathan) (10mins)
- Distro Integration Deep Dive
- Debug & Profiling Projects 2024 (Ammone/Fei) (10 mins)
- RISC-V Optimization Guide Discussion and Inputs (10 mins)
- RFP LLVM CI Announcement Draft
- AIs from last week
- WG Updates/Challenges & Future Topics
System Libraries Deep Dive Q&A (Nathan) (10mins)
Distro Integration Deep Dive
- Purpose: To provide direction and feedback around the integration of the software components needed to comprise an entire operating system
- Near term goals: Alignment of packages needed for new development (HEAD versions of gcc, qemu, et al)
- Long term goals: Establish a communication channel between operating system developers and the groups building foundational components incorporated into operating systems.
- Inaugural meeting held - Dec 5th
- Over 10 attendees
- Reinforced the process of working on the mailing list
- Permissions on documents is a challenge
- e.g. Creating a spreadsheet where users can collaborate requires a lot of manual “Grant access to…” management (if keeping documents within RISE)
- The discussion of compressed instructions has continued in the WG, but the TSC has made it clear this is a decided issue.
Debug and Profiling Projects 2024
Prioritize and ownership (RFP vs TSC members)
User Scenarios | Repo | Status | RISE might contribute | |
Open On-Chip Debugger | on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support | Active development under the lead of Tim Newsome | Need inputs | |
DynamoRIO | instrumentation, binary translation etc. | PLCT lab & SemiHalf: DynamoRIO now has initial support for RISC-V | Extensions other than GC | |
Valgrind | instrumentation, debugging etc. | GC is waiting for upstream and RVV is still in prototype mode | Help review and upstream Enable other extensions | |
SimplePerf | native profiling tool for Android | Atish Patra: There are few moving pieces that need to be straightened out before we can have better support for simpleperf. Until then, we have to rely on SBI PMU & static event encoding for platforms via EVENT_TYPE_TABLE_ENTRY in simple perf |
RISC-V Optimization Guide Discussion and Inputs (10 mins)
- Open Items add here
Next steps
- 11/06/2023 - 12/15/2023 Seeking feedback from RISE
- 12/15/2023 Inform RVI Optimization coming
- Week of Jan 8th, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
RFP LLVM CI Announcement Draft
AIs from last week
Slack Privacy/ Best practices
- RISE Slack is for members only. Do not share invites with people outside of your organization.
- For private conversations please configure a private channel for your working group that is invite only.
- To remove non-members please ping Michelle or Evan.
- Code of conduct policies apply to Slack please inform
Jefro of any violations.
WG Updates/Challenges & Future Topics
Future Topics Parking Lot
Please add topic to be discussed for future meetings
- Define intended audience for RISC-V Optimization Guide
- Leads Assigned (Ludovic? & Simon Harvey)
- Move to GitLab Repo when complete
Action Items This Week
- Public Distro and Integration Public meetings Scheduled
- Link to meeting invite
- Create publicly accessible docs for D&I Community
- Valgrind: Follow up with broader community
- Debug and Profiling to focus on the first three items ( Open On-Chip Debugger, DynamoRIO, Valgrind) and hold for SimplePerf for now.
30 Nov 2023
Attendees:
- Ammone Chapackdee, Rivos X
- Nathan Egg, Google X
- Barna Ibrahim, Rivos X
- Andrei Warkentin, Intel X
- Ludovic Henry Rivos X
- Tim Ouyang, Andes X
- Kumar Sankaran, Ventana X
- Daniel Barboza, Ventana X
- David Weaver, Akeana X
- Brian (Redbeard) Harrington, Red Hat X
- Terje Bergstrom, NVIDIA X
- Paul Walmsley, SiFive X
- Andrew (Adlr), Rivos X
- Heinrich Schuchrdt, Canonical X
- Mason Li, Meditek X
- Trilok Soni, X
- Wei Wu, ISCAS X
- Evan Harrison
Agenda
- New RISE Slack Channel
- RISE GitLab Established
- RFP Updates
- Distro Integration Meeting Update
- System Libraries Deep Dive
- WG Updates
- AIs from last week
Join the Conversation!!
RISE Slack Channel
Q: What will we use Slack For?
A: WG collaboration and community conversations
Q: Does this replace the mailing lists or Wiki?
A: No. There will be no decision making or important announcements only shared on the slack.
Q: Is the RISE Slack Members only?
A: No, anyone who wishes to collaborate with RISE may join.
- There is confidentiality, is this under the same usage guidelines as the mailing list, or is it more of an open.
- Kumar may want to keep this as a private chat with only RISE members as opposed to keeping it open to everyone.
- I’d be in favor of restricting this to RISE member employees and selected partners (eg contractors we RFP with). Access control and revocation could be a challenge
Q: Is joining Required?
A:No, this is 100% optional
Q: How Do I configure my notifications?
A: Find helpful tips and tricks HERE
GitLab Established for RISE
- Registered the RISE Project as an Organization with GitLab
- Reserved https://gitlab.com/riseproject for hosting projects
RFP Updates
- RFP Pipeline
- RP006 - Language Runtime; v8 bringup; Analyze where v8 is vs needs to be, with a focus on Node.js and Android WebView (Ludovic)
- The TSC has agreed to move forward with this project for Ludovic - Ludovic is going to prepare so that we can potentially greenlight this on the 12/14 meeting
- RP013 - GCC Test Failures (Jeff Law)
- Action: Bring up for next weeks 12/7 meeting.
- RP016 - Valgrind for RISC-V (Fei)
- In the next TSC meeting we want to ensure Fei can attend so we can know
- ACTION: We will work with Fei to draft up the RFP and what are the milestones we want to identify. We will then take it to the 12/14 meeting and so we greenlight and start this project in January.
RISE Distro Integration Meetings
Occurring bi-weekly, Tuesdays at 4PM UTC
We will be creating agendas based on Slack messages and e-mail list traffic.
Feel free to join to participate. First meeeting is on 12/5 at 8AM PST.
System Libraries Deep Dive
There are 16 slides that Nathan added, he has put this in a separate slide deck. The slide deck can be found here
Reminder: RISC-V Optimization Guide Next Steps
- 11/06/2023 - 12/15/2023 Seeking feedback from all RISE members; Email Next steps to TSC mailing list?
- 12/15/2023 Inform RVI Optimization coming (Mark H. and RVI TSC leads)
- Week of Jan 8th, 2024
- Open up to RISC-V ecosystem - public, git repo, PDF/website/other
- Publish on RISE Social Media
Working Group Challenges
- Open Discussion
AIs from last week
This doesn’t include WG-specific AIs, just the ones that have a global effect.
- RISE Slack Channel
- ACTION: We will work with Fei to draft up the RFP and what are the milestones we want to identify. We will then take it to the 12/14 meeting and so we greenlight and start this project in January.
- Action: RISC-V Optimization guide: continueation of discussion in next TSC meeting.
- Barna has tagged a slide for the next meeting.
- ACTION: Speak to Michelle about the policies that the RISE team would like to institute for the RISE slack channel. If there are already policies, how can we update the policies so that we can set what expectations we want to set for what to post and what not to post on the RISE slack channel.
16 Nov 2023
Attendees:
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Nathan Egg, Google
- Rick Leatherman, SiFive
- Anup Patel, Ventana
- Barna Ibrahim, Rivos
- Andrei Warkentin, Intel
- Ludovic Henry Rivos
- Tim Ouyang, Andes
- Cyril Jean, Microchip
- Jian Xiong, Alibaba
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Robin Randhawa, SiFive
- Victor Costan, Google
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Fei Wu, Intel
- Brian (Redbeard) Harrington, RedHat
- Erich Hanke, AMD
- Gordan Markus, Canonical
- Ming-Yu Hung, MTK
Agenda
- 2FTE Reminder Deadline & Process
- RFP Decline Approach
- RFP Reviews
- Debug and Profiling Deep Dive
- Optimization Guide Next Steps
- WG Opens - RVI server platforms team
- AIs from last week
2FTE Reminder Deadline & Process
Sponsors will report quarterly on the contributions of their allocated support for RISE Projects.
- Up to 10 contributions can be reported per form, multiple forms can be submitted.
- Forms will be reviewed/audited by RISE TSC Co-Chairs.
Please find the quarterly Reporting form HERE Please complete ASAP.
Reporting Surveys were due 11/1 please submit yours by EOD tomorrow 11/16.
- Ventana
- SiFive
- T-Head (Alibaba)
- Nvidia
- Akeana
Meeting Schedule 2024
2024 Board Meetings Currently Conflict with RISC-V Board Meetings
To solve this we will swap GB meetings with TSC meetings again to make RISE GB Meetings on alternating weeks. Everyone should have received the new series invites yesterday.
If you do not have TSC meetings on your calendar please let me know.
mmartineau@linuxfoundation.org
RFP Decline Approach
Vendors/Contractors should be informed when their bids are not accepted. While a generic template should be standard, additional details around why decisions were made should be provided verbally to encourage re-application by the vendor to future RFPs. This also adds visibility and prevents any optics of preferential treatment.
The LF PM team will send the email copying the technical leads that evaluated the RFP. If the vendor wants to meet to learn more, they would meet with one of the technical leads copied.
Please find the proposed template HERE
RISE GitHub Proposal
Request for an official RISE github / gitlab account for collaboration on public documents, e.g., RISE Optimization Guide. LF does not administer GitHub spaces, so we will need someone from the RISE TSC to set up a RISE Projects repo.
Open Discussion
Debug and Profiling Deep Dive
- Valgrind RVV Support
- Petr had the ARM SVE prototype recently and I had the RVV one, now we are discussing a unified solution for both and other vector ISA.
- RVV looks more generic than ARM SVE, e.g. VL in RVV is not expressible by SVE primitives.
- The major concern on RVV prototype from Petr is that it embeds VL into each type and ops, but we need to find a method to figure out the precise size of these types/ops as Valgrind requires.
- GDB Simulator - Add Zc support
- Submitted first patch that implements compressed integer instruction set ("c") and semi-hosting for review.
- Finished implementation of F and D instructions, and will start upstreaming these patches soon.
- AddressSanitizer
- The dependency on kernel TASK_UNMAPPED_BASE has been addressed
- Upstreaming is working in progress
- Challenges
- No new projects proposed for 2024-1H
- Will contact the individuals in private
Optimization Guide Next Steps
- 11/06/2023 - 12/15/2023 Seeking feedback from all RISE members
- 12/15/2023 Inform RVI Optimization coming
- xx/xx/2024 Open up to RISC-V ecosystem - public, git repo, PDF/website/other
WG Opens - RVI server platforms team
- Andrei Warkentin is the chair of the RVI Server Platform TG
- Andrei would like RISE input on recommendations & requirements for this new specification
- Andrei believes system software engineers from RISE members, spanning from silicon to OS experts, are perfectly placed to provide input based on their understanding of workload requirements and long-term trends
- Open Discussion
AIs from last week
- RISE Slack Channel
06 Nov 2023
Attendees:
- Bjorn Topel, Rivos
- Jeff Law, Ventana
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Ludovic Henry, RIvos
- Daniel Barboza, Ventana
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Terje Bergstrom, NVIDIA
- Tomas Anderson, AMD
- Brian (Redbeard) Harrington, RedHat
- Jefro, RedHat
- Ken Unger, Microchip
- Erich Hanke, AMD
- MyungJoo Ham, Samsung
- Barna Ibrahim, Rivos
- Andrew de los Reyes (Adler), Rivos
- Evan Harrison, Linux Foundation
- Amit Pabalkar, Nvidia
- Stefano Stabellini, AMD
- Larry Wikelius, Qualcomm
- Aaron Durbin, Rivos
- Steve Wanless - RedHat
Agenda
- F2F Intros
- Language Runtime Deep Dive
- RFPs
- WG Updates
- Open Discussion
F2F Intros
2H2023 Goals: Java
- Backport RISC-V Support to OpenJDK 17 - Completed
- Backport RISC-V Support to OpenJDK 11 - Ongoing
- Pull request at openjdk/riscv-port-jdk11u#3
- Distribute Java 11, 17, 21 with Adoptium - Ongoing
- Lack of hardware, exploring using QEMU for CI machines
- Various compiler optimizations - Ongoing
- Intrinsics, code lowering: TSO, chacha20, unsigned integers division/modulo/compare, copy sign, …
- Porting ecosystem libraries - Ongoing
- zstd-jni, brotli4j, netty, commons-crypto
- lz4-java: library is unmaintained, forking
2H2023 Goals: Go
- Build and Test Go runtime on RISC-V - Ongoing
- Support for hardware feature detection - Ongoing
- Accelerate crypto/md5 - Ongoing
- Integrate RVI Profiles as baseline compilation - Accepted
- rv64g, rva20u64, rva22u64, rva23u64
- No support for C (for now)
- Various compiler optimizations - Ongoing
2H2023 Goals: Python
- Porting ecosystem libraries - Ongoing
- PyTorch, scikit-learn
- Native dependencies: SLEEF, oneDAL, TBB, …
RISE Optimization Manual
- Discussed at last System Libraries sync
- Seeking feedback from all members
- Target hardware: smartphone, laptop, desktop, server; OoO; rv64gv*
- Long-term: public, git repo, PDF/website/other
- It’s collaborative, need your feedback!
WG Updates
- Open Discussion
- Robin Randhawa - Kumar has requested that Robin is on next week's TSC call.
02 Nov 2023
Attendees:
- Bjorn Topel, Rivos
- Ming-Yu Hung, MediaTek
- Jian Xiong, Alibaba
- Jeff Law, Ventana
- Simon Harvey, Imagination
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Paul Walmsley, SiFive
- Ludovic Henry, RIvos
- Daniel Barboza,
- Fei Wu, Intel
- John Hengeveld, Intel
- Brian Harrington, Red Hat
- Sunil L, Ventana Micro
- Terje Bergstrom, NVIDIA
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
Agenda
- RISE and LF PMO Collaboration
- Compilers and Toolchains Deep Dive
- Developer Infrastructure Deep Dive
- Go Runtime RFP
- TSC F2F Agenda
- WG Updates
- AIs from last week
RISE and LF PMO Collaboration
In the absence of an Executive Director, direction for the LF PMO should come from RISE Leadership. This includes the RISE TSC and GB co-chairs, Treasurer, and Outreach chair. If a tracking system is required it would be determined and managed by the Leadership.
GB/TSC Requests
- New Processes
- Budget
- Governance Changes
- New Projects or Workgroups
- Recurring Requests
Direct Requests- Member support
- Email lists
- Meeting invites
- LFX troubleshooting
- Renewals/Invoicing
- Contact changes (Voting & Billing)
- Code of conduct issues
- Antitrust
Note: Requests small or large should be detailed to enable PMO to execute
RISE TSC SCOPE
- Coordinate agenda for top level technical body (TAC/TOC)
- Run meeting for top level technical body (TAC/TOC) out of scope
- Take / distribute notes for top level technical body (TAC/TOC)
- Required attendance for top level technical body (TAC/TOC)
- Manage permissions / access to restricted mailing lists
- Create / manage other mailing lists
- Manage permissions / access to other community platforms
- Advise on Governance issues
- Advise on other project needs (community, events, marketing)
- Monitor for IPR issues and other legal questions
- Coordinate Document Management (technical community documentation)
- Manage Mentorship Program out of scope
- Manage Grants Program out of scope
This is the comprehensive scope for what LF PMO provides in supporting the RISE Technical community. Working Group management is not included however some of the items are associated with included scope items. Any additional requests would result in rescoping and increased PMO fees.
Compilers and Toolchains Deep Dive
- GCC – feature freeze for gcc-14 release in ~2 weeks
- Generic new pass, so need to test and fix bugs across many targets
- Implementation cleanup
- Last feature (strided loads/stores) likely landing this week
- Testsuite trends are a slight concern, but expectation is we know why the results differ between Embecosm and everyone else
- Avoid losing track of extension status for incoming arguments has landed
- Avoid creating redundant extensions by querying that extension status when generating comparisons should be landing this week
- Hoping to get extension DCE submitted next week, likely last feature in this space to make gcc-14 feature freeze deadline
- Remaining items will be split off into a 1H2024 project
- Autovectorization
- Redundant extension elimination – umbrella for many little subprojects
- Address rewriting – another umbrella for many subprojects
- New target independent pass to simplify complex address computation sequences
- Being a target independent pass meant much higher bar for integration
- Avoids pushing invariant address computations back into loops
- Again, target independent fix, high bar for integration
- Manolis’s patch (VRULL) has finally been integrated
- Register allocation issues have been fixed, reverted and fixed again
- One remaining item (reassociate symbolic address computations) being debugged, still hoping it’ll make it in time for gcc-14 feature freeze
- If-conversion
- Eswin has updated their patches, much cleaner now
- Both eswin and VRULL/Ventana variants break x86
- So more debugging & analysis needed. Reasonable chance this will make it in tie for the deadline as well
- Large code model – first drop from Andestech, generally in good shape. Reasonable chance this will make gcc-14 feature freeze
- Target attribute work mostly done, minor API changes in the works
Developer Infrastructure Deep Dive
- Introduction
- RISE Build Farm
- Linux Kernel CI Status
- GCC CI Status
- Current Status
- Budget Review
- What We’ve Learned
- Next Steps
- Next Steps
- RISE Board Farm
- RISE Developer Tools
- Charter
- The Developer Infrastructure WG focuses on software and services to support open-source developers - both RISE members and the broader open-source community.
- Current Projects
- RISE Build Farm
- In Planning
- RISE Board Farm
- RISE Developer Tooling
- Objective
- Cross-build and test (in simulation) RISC-V ports of key open source software
- Running in Google Cloud
- Google has graciously donated USD 250,000 of cloud computing credits
- Status
- Linux kernel pre-commit CI: up and running
- gcc CI: getting started
- Exiting the initial experimental phase
- Moving into production
- Two build farm projects in progress
- Builds the RISC-V Linux kernel https://github.com/linux-riscv/
- “Is this patch Good Enough?”
- Gap: Many post-merge CIs, but no pre-merge
- Patchwork scrapes the mailing lists
- Daemon synchronizes Patchwork <=> Github
- Build/tests on RISE dedicated runners
- Feedback to maintainers, reviewers, and contributors
- All in the open – community involvement
- Sponsors: Björn Töpel (Rivos) and Conor Dooley (Microchip)
Next Steps
- Improve build time/farm utilization
- Today: ~20m per patch
- Expand tests
- More configurations
- Boot tests
- Goal: Release test pre-commit
- Maintainers: “This patch will not break upstream”
- Boot on Real Hardware
- Deep-dive at Linux Plumbers Conference, RISC-V MC, Nov 13
GCC CI Status
- RISC-V GCC https://github.com/riscv-collab/riscv-gnu-toolchain/
- Currently running post-merge CI on non-RISE systems; missing dedicated runners
- Pre-merge CI under development
- Move to dedicated RISE build farm systems is in progress
- Sponsors: Patrick O’Neill & Edwin Lu (Rivos)
Budget Retrospective
- Spend: USD ~4900
- Initial budget: USD 9000
- Donated credits from Google: USD 250,000
- Key factors
- Slower project ramp than planned
- Systems still running 24/7 rather than on-demand
Budget Forecast 2023 Q4
- Build farm usage expected to increase significantly
- More projects coming online
- Existing projects scaling up
- Reduce per-instance spend with spot instances and on-demand instance power control
- Target: cut per-instance spend by 30%-50% by the end of Q4 2023
Lessons Learned
- Monitoring of system resource usage is key to using resources efficiently
- Regular management of projects is key to ensuring that they are making initial progress
- Broadening the administration base is key to ensuring timely action
Build Farm Next Steps
- Moving from experimental to production phase
- Policies & procedures
- Documentation
- Broader administration base
- Spot instances
- Control machine set up
- Bringing on more RISE WG build projects
- Driven by RISE member sponsors
- Expanding existing Linux and GCC build projects
- Investigating third-party build and test projects
- Investigating external IT
- Future RISE Board Farm integration
TSC F2F Agenda
- Don’t forget to sign up: Link
- Intro/Ice Breakers
- RFPs
- Review and updates
- Vendor submitted
- Deep Dives
- Language Runtime
Logistics:
- Monday, November 6, from 1-2pm PT @ NVIDIA campus in Santa Clara
- Link to Directions/Instructions INVITE SENT
- Microsoft Teams invite has been provided for those not joining in person
WG Updates
AIs from last week
26 Oct 2023
Attendees:
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Jian Zhang, BOSC
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Andrei Warkentin, Intel
- Paul Walmsley, SiFive
- Tim Ouyang, Andes
- Brian Harrington,
- Ken Unger
- Terje Bergstrom
- Evan Harrison, Linux Foundation
- Amit Pabalkar
- Andrew de los Reyes, (Adler) Rivos
- Thomas Evensen, AMD
- Nathan Egge, Google
Agenda
- New Member! AMD 🎉
- Simulator Emulator Deep Dive
- RISE TSC Slide for RVI Summit
- New Projects
- WG Updates
- AIs from last week
Simulator Emulator Deep Dive
- Agenda
- 2023-2H
- Updates on projects
- 2024-1H
- Overall status
2023-2H: Updates on projects
- QEMU code freeze for new features: Nov 7th 2023
- SE_01_002 - QEMU Virtual IRQ and IRQ filtering support
- Moved from “Under Review” to “Queued”
- On track for QEMU 8.2 (Dec 2023)
- SE_01_014 - QEMU query-cpu-model-expansion API
- Moved from “Under Review” to “Queued”
- On track for QEMU 8.2 (Dec 2023)
- SE_01_011 - QEMU RVA22U64 profile support
- Moved from “Not Started” to “Under Review”
- On track for QEMU 8.2 (Dec 2023)
2023-2H: Updates on projects
- Projects moved to 2024 (not enough time to meet project freeze)
- SE_01_003 - QEMU WorldGuard support support
- Status: Not started
- Moved to 1H 2024
- SE_01_014 - QEMU IOPMP support
- Status: Not started
- Moved to 1H 2024
- SE_01_015 - QEMU RISC-V IOMMU support (new)
- Status: Under review
- First version sent for review in July 2023. No new versions sent
2023-2H: Updates on projects
2024-1H: Updates on projects
- New projects planned for 2024-1H
- SE_01_003 - QEMU WorldGuard support support
- SE_01_014 - QEMU IOPMP support
- SE_01_015 - QEMU RISC-V IOMMU support
- From 2023 priorities
- SE_01_016 - QEMU linux-user hwprobe kernel parity (new)
- Long term project without deadline
- Valid as long as the kernel hwprobe syscall is being updated
2024-1H: Updates on projects
- List including projects coming from 2023
- RVV performance enhancements
- Vector TCG Host-Native implementation
- Cleanup: remove prematurely merged non-standards
- SLX32 support
- QEMU RISC-V TCG target support
- Vendor extension framework support
- QEMU WorldGuard support*
- QEMU IOPMP support*
- QEMU RISC-V IOMMU support*
- QEMU linux-user hwprobe kernel parity*
- Wiki pages are still pending for most projects
- Projects with (*) has pages
RISE TSC F2F Logistics
- Reminder to Sign Up: Here
- Monday, November 6, from 2-3pm PST @ NVIDIA campus in Santa Clara
- Link to Directions/Instructions INVITE SENT TODAY
- Microsoft Teams invite has been provided for those not joining in person
- TSC may have to wait in the lobby until 2pm PST
RISE Lounge request for Board and TSC members to host sessions
SIGN UP!
RISE is sponsoring a lounge with couches at the Summit, and we'd like to have people from the Board or TSC there, particularly at busy times such as coffee breaks. Let’s fill in the final slots together now! :-)
Link: https://docs.google.com/spreadsheets/d/1Y8L0We5GZCbW8I1s8ruD-U9j6BgSs6DHRIwJ8R7U1fc/edit#gid=0
RISE TSC presentation for RVI Summit
- RISE RVI Summit Preso (Barna, Nathan, and Kumar)
- Agenda
- Platforms: Kernel & Virt, FW, Simulation
- Dev Tools: Toolchain & Compilers, Distro Integration, Profile & Debug
- Libs/Middleware: System Libs, Language Runtime
- Developer Infrastructure
- RFP Projects
- RISE Intro
- RISE Org
- Working Model
- TSC Leadership & Working Groups
- Priority and Accomplishments
- Roadmap
New Projects
- Anyone can submit projects
- https://lf-rise.atlassian.net/wiki/display/HOME/RISE+RFP+Process
- https://lf-rise.atlassian.net/wiki/display/HOME/Work+Group+Ways+of+Working#WorkGroupWaysofWorking-WorkGroupProjectSubmission
- RISE project form: RISE Form
- Email to WG group mailing list
- Prioritization for all projects follows:
- Already contributed to by a RISE member and require additional resources (developers, reviewers, testers)
- Gaps that need a level of investment (e.g. into design/implementation), where a concrete focused effort by strongly-interacting (WG) participants would be more efficient than some eventual convergence by a group of weak-interacting (upstream project mailing list)
- Proof of Concepts (e.g. from RVI spec work) that need to be matured into upstream.
- Projects that are necessary to unblock RISE efforts in other area.
- In alignment with the upstream project roadmap, goal, etc.
- In alignment with RISE member goals.
- Are either:
- ACTION: Work with Ammone and Michelle to better document how new members can submit projects on the Wiki.
- Revist the RFP process page and see how we can fill in any gaps for new members.
Working Group Challenges
- Open Discussion
- Action: How are tasks/requests being tracked?
- Can we create a spreadsheet that tracks all RISE requests tasks. And go over this spreadsheet during the last 15 mins of the TSC call.
AIs from last week
This doesn’t include WG-specific AIs, just the ones that have a global effect.
- Update from Evan - converting Google drive “inbox” spreadsheets to Wiki
- This has been completed
- There seems to be a reduncy with some of the info on the WG wiki pages in terms of the spreadsheet
- Finishing up setting up WG infrastructure
- The WG leads will look into incorporating the spreadsheet template - however the team agreed that the WG pages don't all have to follow the same format.
- Distro Integration
- Developer Infrastructure
- ACTION: Work with Ammone and Michelle to better document how new members can submit projects on the Wiki.
- Resolved 10/30, Michelle will work with Ammone.
- Revist the RFP process page and see how we can fill in any gaps for new members.
- Action: How are tasks/requests being tracked?
- Can we create a spreadsheet that tracks all RISE requests tasks. And go over this spreadsheet during the last 15 mins of the TSC call.
- Michelle will bring up as a topic of discussion for the TSC group.
19 Oct 2023
Attendees:
- Michelle Martineau, The Linux Foundation
- Heinrich Schuchardt, Canonical
- Jeff Law,
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Simon Wang, Andes
- Nathan Egge, Google
- Jian Zhang, BOSC
- Randall Bosetti, Google
- Ming-Yu Hung, Mediatek
- Daniel Barboza, Ventana
- Anup Patel, Ventana
- David Weaver, Akeana
- Andrei Warkentin, Intel
- Simon Harvey,
- Wu Fei, Intel
- Gordan Markus, Canonical
- Paul Walmsley, SiFive
- Tim Ouyang, Andes
Agenda
- Welcome BOSC!
- RISE RVI Summit F2F
- RISE 2FTE Reporting
- RISE Social Media Integration
- Kernel and Virtualization Deep Dive
- WG Updates
- AIs from last week
Welcome BOSC!
RISE RVI Summit F2F
SIGN UP!
RISE is sponsoring a lounge with couches at the Summit, and we'd like to have someone from the Board or TSC there, particularly at busy times such as coffee breaks. If you can set aside an hour, please add your name to the schedule so we know to expect you.
https://docs.google.com/spreadsheets/d/1Y8L0We5GZCbW8I1s8ruD-U9j6BgSs6DHRIwJ8R7U1fc/edit#gid=0
REMEMBER:
All members attending the F2F GB or TSC meetings in November will need to register via the Signup Sheet. If you are not sure, please still add your name. The final list is due to NVIDIA by today.
https://docs.google.com/spreadsheets/d/1dNK8asRHHlCcU-1OJ7mP-5uTC8fR5IVDvpOXZipI4tA/edit#gid=0
RISE 2FTE Reporting
RISE will implement a reporting cadence for Sponsors who have elected to contribute 2FTE.
- Sponsors will report quarterly on the contributions of their allocated support for RISE Projects.
- Up to 10 contributions can be reported per form, multiple forms can be submitted.
- Forms will be reviewed/audited by RISE TSC Technical leads.
Please confirm the reporting contact for your organization.
RISE 2FTE Reporting Contacts
RISE 2FTE Quarterly Reporting Form
RISE Sponsorship Agreement:
Sponsors agree to pay the fees specified in Exhibit C and provide (if the Designated Engineering Resources option is selected) at least 2.0 full-time engineers, or the equivalent of appropriate technical ability who will contribute towards the prioritized agreed-upon RISE technical roadmap following the directions of the TSC (as defined in the Charter). Sponsors are encouraged to make additional technical contributions beyond the minimums required in this Agreement.
RISE Social Media Integration
We are excited to announce that RISE is now on social media!
- LinkedIn page
- Coming soon: Facebook, X/Twitter
- At this time we will not be on Instagram
There is also now a new mailing list social@riseproject.dev for coordination. Please contact us at that address if you would like anything posted or have any comments, questions, or concerns.
Kernel and Virtualization Deep Dive
- Link to slides
https://docs.google.com/presentation/d/1a2Ph1nKlet2x2vCpDPks7PA2v61cn0EuUIzJyGByqLQ/edit?usp=sharing
WG Updates
AIs from last week
- Responses for Go Runtime Priority
- Access to Toolchain CI boxes
- How is roadmap planning for 1H24 going?
- Survey results
- Update from Evan - converting Google drive “inbox” spreadsheets to Wiki
- Finishing up setting up WG infrastructure
- Distro Integration
- Developer Infrastructure
12 Oct 2023
Attendees:
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Nathan Egge, Google
- Daniel Barboza, Ventana
- David Weaver, Akeana
- Mason Li, Mediatek
- Amit Pabalkar, NVIDIA
- Terje Bergestorm, NVIDIA
- Evan Harrison, LF
- Andrew de los Reyes (Adler), Rivos
- Paul Walmsley
- MyungJoo Ham, Samsung
- Tim Ouyang, Andes
- Trilok Soni
Agenda
- RISE Lounge and F2F Meeting Sign Up
- 2FTE Reporting Forms/Process
- GCP Check In
- RFPs
- WG Open Discussion
- AIs from last week
RVI RISE Lounge/ F2F Meeting Signup
SIGN UP!
RISE is sponsoring a lounge with couches at the Summit, and we'd like to have someone from the board there, particularly at busy times such as coffee breaks.
If you can set aside an hour, please add your name to the schedule so we know to expect you.
REMEMBER:
All members attending the F2F GB or TSC meetings in November will need to register via the Signup Sheet.
If you are not sure, please still add your name. The final list is due to NVIDIA by today.
2 FTE Reporting Form
RISE will implement a reporting cadence for Sponsors who have elected to contribute 2FTE.
- Sponsors will report quarterly on the contributions of their allocated support for RISE Projects.
- Up to 10 contributions can be reported per form, multiple forms can be submitted.
- Forms will be reviewed/audited by RISE TSC Technical leads.
RISE 2FTE Reporting Contacts
RISE 2FTE Quarterly Reporting Form
- Please confirm the reporting contact for your organization.
Action: When does the first quarter start? And when does the reporting start
RISE Sponsorship Agreement:
Sponsors agree to pay the fees specified in Exhibit C and provide (if the Designated Engineering Resources option is selected) at least 2.0 full-time engineers, or the equivalent of appropriate technical ability who will contribute towards the prioritized agreed-upon RISE technical roadmap following the directions of the TSC (as defined in the Charter). Sponsors are encouraged to make additional technical contributions beyond the minimums required in this Agreement.
GCP Check In
- Toolchain CI
- Jeff – due to personal issues, my time will continue to be very limited in the near term. I recommend Rivos take the lead on this as they have a gitlab based CI system and can utilize additional runner capacity
- Kernel CI update
- Patchwork CI migration is complete
- Next phase - extending build/tests
- Setup info: https://github.com/linux-riscv/github-ci/wiki
- Build info: https://github.com/linux-riscv/linux-riscv/actions
- Results: https://patchwork.kernel.org/project/linux-riscv/list/
- Questions: bjorn@rivosinc.com
- Next steps from Dev Infra WG
RFP Update
- Go Runtime
- 3 bids submitted/reviewed
- Waiting on feedback from one contractor
- Need priority from TSC members
- libjpeg turbo
- LF to work directly with maintainer
- Multimedia - hold for Nathan
- Review priority from proposed project list
- Select Q1 2024 projects
Action: Request to send out a note to the TSC for priority for the RFP, if people have specific priorities they can provide the detail/s.
- Email the TSC Public mailing list
- And Language Runtime WG, email the whole group on the priority list - 54 down to 72
What area do we want the contractor to work on first
Working Group Challenges
- [Rivos] Software Optimization Guide
AIs from last week
- Action: When does the first quarter start? And when does the reporting start
- Action: Request to send out a note to the TSC for priority for the RFP, if people have specific priorities they can provide the detail/s.
- Email the TSC Public mailing list
- And Language Runtime WG, email the whole group on the priority list - 54 down to 72
What area do we want the contractor to work on first
05 Oct 2023
Attendees:
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Kumar Sankaran, Ventana
- Randall Bosetti, Google
- Nathan Egge, Google
- Daniel Barboza, Ventana
- Felix Freiman, MediaTek
- Sunil V L, Ventana
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Brian Harrington, RedHat
- Anup Patel, Intel
- David Weaver, Akeana
Agenda
- Firmware Deep Dive
- WG Challenges - Open Discussion
- AIs/Opens
Firmware Deep Dive
- Completed projects
- New projects created / added
- EDK2_00_17 - Extension Discovery - UEFI PI spec change being proposed.
- UBOOT_00_01 - PCIe Passthru - Upstream patch under review.
- SBI_00_01 - Sparse HARTID Support in OpenSBI - Upstream patches under review.
- Development Completed
- EDK2_00_16 - Svpbmt support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_09 - CMO support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_06 - SSTC support - Development Complete, waiting for EDK2_00_17.
- EDK2_00_01 - MultiArchUefiPkg - Validation completed by two semiconductor companies.
- Long-term Projects
- EDK2_00_02 - StandaloneMmPkg - RPMI spec updates proposed, initial evaluations done, Patches to unify ARM and RISC-V code.
- Need to create wiki pages for individual projects.
- Firmware-first RAS error handling
- Being discussed / specification changes proposed in RVI forums.
- PoC in progress.
- Universal Payload (UPL) specification impacts on various FW
- Ecosystem Enablement
- EDK2 support being added on vendor hardware platforms.
- Sophgo SG2042 and MILK-V Pioneer.
- StarFive VisionFive 2.
- Intel and Ventana helping to upstream the support.
- WG Challenges - Open Discussion
AIs/Opens
- GCP Update: Any news on Toolchain CI?
- RFPs in flight - updates
- Go Runtime - 3 bids to review
- libjpeg-turbo - ?
- Multimedia - ?
28 Sep 2023
Attendees:
- Andrei Warkentin, Intel X
- Brian Harrington, Red Hat X
- Ammone Chapackdee, Rivos X
- Evan Harrison, The Linux Foundation X
- Paul Walmsley, SiFive X
- Kumar Sankaran, Ventana X
- Randall Bosetti, Google X
- Tim Ouyang, Andes
- Nathan Egge, Google X
- Daniel Barboza, Ventana X
- Felix Freiman, MediaTek
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Fei Wu, Intel
- Anup Patel, Intel
- David Weaver, Akeana X
- Andrew De Los Reyes
- Jeff Law
- Kris Murphy
Agenda
- TSC Chair Update
- System Libraries Deep Dive
- libjpeg turbo Proposal
- WG Updates
- Board Meeting Recap
- AIs from last week
Future Topics
- FW Deep Dive (next week)
- RFP Project Review
- TSC Update Preso for RVI Summit
RISE TSC Chair Closure
- The only candidate for the RISE TSC Chair was Nathan Egge of Google
- There are a few concerns raised:
- Google is already the GB Chair; optics concern for Google to also chair TSC
- The workload for the TSC Chair position is viewed as high, so there is a desire to make it more manageable
- Proposal: Have 3 equal RISE TSC co-chairs (Nathan, Kumar, Adlr) where each focuses more deeply on particular Workgroups / areas
TSC Co-chair | Workgroup 1 | Workgroup 2 | Workgroup 3 |
Nathan | System Libraries | Language Runtimes | Developer Infrastructure |
Kumar | System Firmware | Kernel | Simulation |
Adlr | Linux Distro | Compiler & Toolchains | Debug & Profiling |
System Libraries Deep Dive
libjpeg turbo Proposal - review
- ibjpeg turbo Proposal
- Open discussion on concerns
- Email shared with TSC chairs - details from libjpeg turbo
Working Group Challenges
- Open Discussion
Board Meeting Recap
- 9/28 GB Slide deck
- TSC Chair update
- 2 FTE tracking and WG Engagement Expectations
- RVI meeting
- RISE Feedback on RVI Specs
AIs from last week
This doesn’t include WG-specific AIs, just the ones that have a global effect.
- How is roadmap planning for 1H24 going?
- Survey results
- Converting Google drive “inbox” spreadsheets to Wiki
- Wiki quality and overall TSC accountability
- Identify RISE member engineers assigned to projects (AI: WG leads)
- Ensure they have access (AI: TSC reps + PMs)
- Ensure they update project pages (AI: TSC reps + internal company mgmt)…
- Why is attendce so low for today's meeting?
21 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Ammone Chapackdee, Rivos
- Evan Harrison, The Linux Foundation
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
- Nathan Egge, Google
- Daniel Barboza, Ventana
- Felix Freiman, MediaTek
- Ludovic Henry, Rivos
- Simon Harvey, ImgTec
- Fei Wu, Intel
- Anup Patel, Intel
- David Weaver, Akeana
Agenda
- RFP Bid Process
- Debug and Profiling Deep Dive
- Language Runtimes Deep Dive
- WG Updates
- AIs from last week
RFP Bid Process
Projects up for bidding will be featured on the RISE wiki and advertised on RISE social media accounts.
TL will be responsible for adding summaries to their Project Wiki page in enough detail to allow vendors/individuals to accurately bid on the work.
Bidders are required to submit:
- Project Scope and Requirements
- Cost Breakdown
- Payment Schedule
- Timeline and Schedule
- Qualifications and Experience
- References and Testimonials
- Additional Services and Options
- Contract Terms and Conditions
Debug and Profiling Deep Dive
- Activities
- Had WG meeting on Sep 12
- Added DP_01_003 for 2023-2H
- Projects Status Updates
- All RVV instructions except floating-point and fixed-point have been enabled
- Implemented simulation of compressed integer instructions and testing is in progress
- Code is ready, but depends on kernel to define TASK_UNMAPPED_BASE for 32bit RISC-V
- I saw it’s upstreamed, need to confirm with the owner
- Got the current status of these tools
- DP_00_001 - Valgrind vector support
- DP_01_003 - GDB Simulator - Add Zc support
- DP_05_001 - Address Sanitizer (for 32bit)
- DP_04_001 - Userspace Cycle/Instret access
- Evaluate GDB/LLDB/OpenOCD
- 2024-1H Plan
- Simpleperf, Valgrind, Perf CTR, OpenOCD - Not finalized
- Challenges
- More projects
Language Runtimes Deep Dive
Scope (refresher)
- The Languages identified to focus by Rise Members - Java (OpenJDK), Go, Python, Android Runtime, .NET Runtime
- Build and test on RISC-V Hardware
- Accelerate the runtimes
- Add support to most common libraries
2H2023 Goals:
- Java - Backport RISC-V Support to OpenJDK 17 - Completed
- Java - Backport RISC-V Support to OpenJDK 11 - Ongoing
- Pull request at openjdk/riscv-port-jdk11u#3
- Java - Distribute Java 11, 17, 21 with Adoptium - Ongoing
- Lack of hardware, exploring using QEMU for CI machines
- Java - Various compiler optimizations - Ongoing
- Go - Build and Test Go runtime on RISC-V - Ongoing
- Go - Support for hardware feature detection - Ongoing
- Go - Accelerate crypto/md5 - Ongoing
- Go - Integrate RVI Profiles as baseline compilation - On hold
- Go - Various compiler optimizations - Ongoing
Challenges
- Access to machines for CI (boards and/or QEMU+x86)
- User-space emulation too “weird” for some applications (application says riscv, kernel and /proc says x86)
- Slower per-core, but can do 64+ cores. Great for parallelizable testing, terrible for single-core tasks (ex: linking)
- Still faster than fastest RISC-V board (ex: VisionFive 2), also supports V and other extensions
- Exploring using QEMU+x86 for lack of performant RISC-V boards
- Need to use QEMU System Emulation
- Uncertainty about RVI profiles:
- To C or not to C
- Most problematic in Go - AOT compilation
- We don’t care that anyone adds support for it, but it’s hard to say “it can’t be part of the baseline profile”\
- Low engagement in WG
- Plenty of actions happening in upstream communities
- But, little to no engagement in RISE WG mailing lists and meetings
Discussions
- Involved in RVI J-Extension WG
- Bringing JIT expertise for spec definition
- Trying to figure out usability and usefulness for Concurrent GCs
- Zjid - I/D Cache Coherency
- Zjpm - Pointer Masking / Memory Tagging
- Interest in nodeJS.
- Employee from RedHat
AIs from last week
- How is roadmap planning for 1H24 going?
- Survey results
- Converting Google drive “inbox” spreadsheets to Wiki
- Converting Google drive “inbox” spreadsheets to Wiki
- Wiki quality
- Identify RISE member engineers assigned to projects (AI: WG leads)
- Ensure they have access (AI: TSC reps + PMs)
- Ensure they update project pages (AI: TSC reps + internal company mgmt)
WG Updates
14 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Evan Harrison, The Linux Foundation
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
- Nathan Egge, Google
- Kris Murphy, Red Hat
- Daniel Barboza, Ventana
- Trilok Soni, Qualcomm
Agenda
- RVI Nov Summit: RISE F2F
- RISE TSC Changes
- WG Updates/Challenges
- RFP Update
- AIs from last week
RVI Nov Summit: RISE F2F
- Opportunity for team building at RVI November Summit
- Monday November 6th
- 2:00pm-3:00pm TSC
- Location NVIDIA
- RISE TSC meeting:
- Then join RISC-V Member Day and Reception at 5:00pm
- Register to attend no later than 10/15
RISE TSC Changes
Andrie Warkentin will be stepping down from the TSC Chair position and a nomination period will open later today with Lars Bergstrom acting as Election official.
WG Updates/Challenges
- How is roadmap planning for 1H24 going?
- Survey results - 3/9 completed.
- Converting Google drive “inbox” spreadsheets to Wiki
- Wiki quality
- Identify RISE member engineers assigned to projects (AI: WG leads)
- Ensure they have access (AI: TSC reps + PMs)
- Ensure they update project pages (AI: TSC reps + internal company mgmt)
- Open Discussion
RFP Update
- Board approved RFP Process
- Denial Workflow
- Management of Contractor
- Intake of projects blending with TSC projects
- Board approved projects to move forward
- Accelerate the Go Runtime on RISC-V
- Multimedia Enablement on RISC-V - FFmpeg H.264 decode
- libjpeg-turbo vector support on RISC-V
- Feedback: Need clear understanding of deliverables and what ISA is being targeted
- Next Steps
- Post Proposals for open bidding process (set to 1 week max for these)
- Release RFP to the public
- TSC to review list of RFPs
- Unify RFP and non-RFP processes (streamlining these to avoid two processes)
07 Sep 2023
Attendees:
- Andrei Warkentin, Intel
- Brian Harrington, Red Hat
- Ludovic Henry, Rivos
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Simon Harvey, Imagination
- Fei Wu, Intel
- Felix Freimann, MediaTek
- Anup Patel, Ventana
- Evan Harrison, The Linux Foundation
- Jian Xiong, T-Head
- Jeff Law, Ventana
- Paul Walmsley, SiFive
- Kumar Sankaran, Ventana
- Michelle Martineau, Linux Foundation
- Randall Bosetti, Google
- Tim Ouyang, Andes
Agenda
- Upcoming Events
- WG Updates
- AIs from last week
Upcoming Events
Roll call for RISE attendees/representation and discussion around activities (if needed)
- UEFI FALL 2023 DEVELOPERS CONFERENCE & PLUGFEST (Oct 9-12) - Hillsboro, OR: couple firmware projects, RISE plug.
- LF Member Summit (Oct 24-26) - Monterey CA
- RVI NA Summit (Nov 7-8) - Santa Clara CA
- TSC F2F meeting - Nov 6, location TBD
- RISE Lounge - more details to come
- LPC - Linux Plumbers Conf (Nov 13-15) - Richmond VA
- RISC-V MC - plug for RISE; GCP Instance running Kernel CI
Any other events to consider?
WG Updates
- How is roadmap planning for 1H24 going?
- Open Discussion
AIs from last week
RISE Position on RVI Profile Gaps
The RISC-V Software Ecosystem (RISE) project focuses on commercial software readiness for RISC-V. Member companies include both OS and hardware vendors spanning the mobile, consumer electronics, datacenter, and automotive markets. RISE is not responsible for specifying the RISC-V ISA but does have a vested interest in ensuring the ISA has features that enable commercial software markets. Towards that end, we have developed the following position statement on RVI Application Profiles (e.g., RVA22).
To be done in the Distro Integration WG…
- Tight deadline (1 week!)
- Cloud Instance: have we shut down the AWS service?
- Replacing incoming project spreadsheets with wiki: still to be done. How do we plan and do this?
- Developer Infrastructure WG finish setting this up
- 32-bit support (e.g. for asan)
- Ventana says - no to 32-bit
- Imagination says no (even for non-Gen. Purpose compute)
- Came up in https://lf-rise.atlassian.net/wiki/display/HOME/DP_05_001+-+Address+Sanitizer
- Do we care for 32-bit beyond MCU space? Come back to this
31 Aug 2023
Attendees:
- Andrei Warkentin, Intel
- Ludovic Henry, Rivos
- Andrew De Los Reyes, Rivos
- Ammone Chapackdee, Rivos
- Chris Smith, Imagination
- Kris Murphy, Red Hat
- Fei Wu, Intel
- Daniel Barboza, Ventana
- Felix Freimann, MediaTek
- Anup Patel, Ventana
- Raul Xiong, T-Head
- Brian Harrington, RedHat
- Jeff Law, Ventana
- Kumar Sankaran, Rivos
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
- Randall Bosetti, Google
- Tim Ouyang, Andes
Agenda
- Compilers and Toolchains Deep Dive (Jeff Law)
- RFP Process (Ammone)
- WG Challenges
- AIs from last week (go over assorted notes from last week)
Compilers and Toolchains Deep Dive (Jeff Law)
Status
- Tracking ongoing projects in GCC and LLVM upstreams
- Primarily 2023 work, but a bit of 2024 stuff
- Weekly updates to the wiki
- LLVM 17 (Fall 2023) and GCC 14 (Spring 2024) targets for 2023 work
- Coordination primarily through existing upstream meetings rather than RISE specific meetings
- Haven’t started standing up POC CI/CD for GCC and LLVM using RISE resources
- Should have been trivial, but I’ve just been crazy busy last 2 weeks
Scope
- Primary focus on GCC and LLVM projects
- Code optimization
- Solve various problems for downstream consumers (distros)
- CI/CD
- Binary distribution of cross toolchains to other developers
- Occasionally covering binutils or glibc when there’s clear overlap
- Fairly natural as many of the developers are active in closely related projects
- Expecting to touch on other areas such as debugges, profilers, system libraries, distros, etc on an as-needed basis
Priorities
- Code Optimization
- Clear need to support/improve autovectorization
- Other extensions as they land (Zfa, Zicond, etc)
- Other targeted improvements based on benchmark analysis
- Address compatibility issues to ease distro consumption issues
- Fix atomics to be compatible across toolchains, including inlining subword atomics
- Other ABI concerns WRT gp relaxation, vector, shadow stacks, large code model, etc – closing loops with RVI PSABI WG
- Support other groups
- Backtracing w/o dwarf unwind tables for firmware and profilers
- System libraries via ifuncs, function multiversioning, etc
- Binary distribution of cross compilation toolchains
Challenges
- Hardware access
- Bootstrapping & testing GCC takes ~28 hours, without testing the various extensions – QEMU user mode emulation, 40c systems, “primary” GCC targets on modern hardware – 1 hr
- Benchmarking is virtually impossible outside a very small group of developers due to lack of hardware
- Compiler community involvement
- Much of the GCC development coordination effort falling on my shoulders
- I’m struggling with visibility into upstream LLVM work
RFP Process (Ammone)
- Background
- Tim Kilbourn
- Ammone Chapackdee
- RFP Process Doc:
- RISE improves the software ecosystem for RISC-V by working directly with upstream open source projects to support the RISC-V architecture.
- Companies that have pledged support to RISE will make some contributions to these projects, but it is not expected that they will have all the needed expertise.
- The Request for Proposal (RFP) process allows RISE to extend its impact by supporting others to do the work that the Technical Steering Committee (TSC) identifies. The RFP process strives to be open and transparent, in the spirit of the open source communities in which it participates.
- Process - Entire Lifecycle of a Proposal
- All Rise Members are invited to propose projects
- Link to be shared on wiki for members ONLY.
- RISE: Contractor Project Proposal list
- RISE: Project Proposal Template
- TSC/WG will review and recommend Proposal Projects to GB
- Proposals will be reviewed in GB and be subjected to voting
- GB will have final approval
- Public forum ex: LinkedIn Post, Wiki etc
- Quotes/SOW submission will be collected via Google Form
- Bidding will be open for 1 week
- Proposals will be public for contractors to submit quotes/SOW
- Status of contracts will remain public
- Open/New, Closed/Awarded
- Will have no mention of cost
- TSC/WG will review and recommend bid(s) to GB
- Bids will be reviewed in GB and be subjected to voting
- GB will have final approval
- Award Contract will follow LF Contractor Request Process
- WG/Tech Lead will manage engagement with contractor
- Ensuring contractor is delivering per SOW
- Updates are expected as an open project
- Wiki, DeepDives
- Challenges to be brought to TSC/GB
- WG/TL will monitor the contractor until tasks are complete (per SOW)
- WG/TL will conclude all work with contractor
- All invoices are to be approved by WG/TL for payment
- LF Contractor Request Process (covers payment process)
- Conception: Identification, Socialization and Collection
- Recommendation and Approval
- Publication and Bidding
- Publication and Bidding - cont’d
- Bid Review > Approval > Award Contract
- Execution
- Execution - cont’d
- Conclusion of Work/Contract
- Next Steps
- Please provide feedback to the RFP Process
- Add Project Proposals to the RISE: Contractor Project Proposal list
- Present RFP Process to GB for approval 9/14/2023
- Present recommended Projects from list on 9/14/2023
- Push 2-3 projects through RFP process
- Award Contracts by Mid Oct.
WG Challenges
AIs from last week (go over assorted notes from last week)
- Cloud Instance: Can we deprecate AWS service?
- Public access to spreadsheets (RO access to google drive [andreiw: meh] or just replace with a spreadsheet on the Wiki [would simplify process])
- Developer Infrastructure WG finish setting this up
- 32-bit support (e.g. for asan)
- Came up in https://lf-rise.atlassian.net/wiki/display/HOME/DP_05_001+-+Address+Sanitizer
- Do we care for 32-bit?
- Other assorted notes
24 Aug 2023
Attendees:
- Andrei Warkentin, Intel
- Andrew De Los Reyes, Rivos
- Kris Murphy, Redhat
- Trilok Soni, Qualcomm
- Ammone Chapackdee, Rivos
- Brian Harrington, RedHat
- Amit Pabalkar, NVIDIA
- Daniel Barboza, Ventana
- Jeff Law, Ventana
- Jenn Bonner, Linux Foundation
- Kumar Sankaran, Rivos
- Michelle Martineau, Linux Foundation
- Nathan Egge, Google
- Randall Bosetti, Google
- Simon Harvey, Andes
- Tim Ouyang, Andes
Agenda
- Assorted Notes (Andrei)
- Distro and Integration Deep Dive (Brian Harrington)
- WG Challenges?
- AIs from last week
Assorted Notes (Andrei)
- Public access to spreadsheets
- Role of spreadsheet vs wiki
- Need for public (RO) access
- Developer Infrastructure WG
- Need a WG lead!
- Finish setting it up (Google drive, Wiki Pages, project spreadsheet)
- Build Farm project needs a project page.
- Reporting project status
- Use wiki page
- Not the WG lead’s job (to fill it or to prod project owners to do so). How do we encourage desired behavior?
- Board Update
- 2H23 - https://lf-rise.atlassian.net/wiki/pages/viewpage.action?pageId=8588062
- 1H24 - https://lf-rise.atlassian.net/wiki/pages/viewpage.action?pageId=8589314
- Need to figure out 1H24 priorities for all WGs.
- Board request to align towards long term priorities (e.g. ‘server’ and ‘mobile’.)
- It’s pretty hard to create an update, and this is a Wiki quality problem.
- Next time, I’ll ask (some) WG leads for an update.
- The WG leads will ask the project owners for an update… it might take forever.
- (isn’t it easier to just keep the wiki up-to-date :-))?
- Page quality
- Pages directly under the WG root represent active projects. Projects are active until the reporting period is over.
- Completed/Retired projects will move under the a page similar to “2H23 Projects”.
- Anything not in the current reporting period and not completed needs to be in a WIP/Attic/whatever.
- Page quality
- Still have blank pages
- pages with no project scope,
updates and status. - Some WGs have no status roll up
- Reporting progress is hard if there’s no way to discern progress.
- If your project references a laundry list of upstream contributions, it is even more important to keep the apparent status updated. For example, I have no idea what the status for https://lf-rise.atlassian.net/wiki/display/HOME/LR_00_004%3A+Backport+RISC-V+support+to+jdk11u is.
- Want to avoid clutter
- Tracking dependencies - what if you identify a dependency in another WG
- No - Send email to WG list identifying as being dependent, requesting project to be selected.
- Yes - Update the project wiki page adding yourself as a dependent project. Update YOUR project page listing the dependency.
- Yes. Is it prioritized?
- No. Send email to WG list asking for project to be added (by lead) to spreadsheet (and be prioritized). Follow up with the lead.
- Hit up the spreadsheet. Is the project listed there?
- What about specs?
- Note the dependency. Is this a change to an existing spec? Is this a non-existing spec or a spec that isn’t invested enough in?
- RISE will report this info to RVI via a liaison meeting.
- Contractor Proposal
- Each prioritized project started as a spreadsheet item.
- Then it gets a Wiki page, with the requirements, dependencies, measure of success, etc.
- At some point everyone realizes the project isn’t moving forward and needs a contractor proposal.
- I understand contractor spend needs to be private. Can keep sequestered in a spreadsheet, associated with the project ID.
- Or at least start “wiki first”.
- Came up in https://lf-rise.atlassian.net/wiki/display/HOME/DP_05_001+-+Address+Sanitizer
- Do we care for 32-bit?
- Can we consider doing these directly in the Wiki instead of having this be another document? The template sees pretty similar to a project write up.
- Doing these in the Wiki would save having to convert said document into a wiki page…
- Doing these in the Wiki would keep to the open nature of how we operate.
- 32-bit support (e.g. for asan)
Distro and Integration Deep Dive (Brian Harrington)
Status
- Assembling an entire distro exists as a race condition:
- Some truly are waiting for systems with vector processing, et al
- Most are folks used to building things on the OS, not the OS itself. This leads to confusion because it straddles vendor and upstream work.
- Some developers are waiting to have “hardware available”.1
- Other developers are see the large numbers of compiled packages and assume work nears completion. (“90% of packages successfully compile)
- Yet others are (rightfully) noting that the stability and performance of hardware is “not ready” or “too slow”, but this is a matter of perception.
- The work proceeding at the fastest pace is that driven by single members with a clear vision and need (e.g. Fedora which is currently receiving direct contributions from RISE members: Rivos & Red Hat).
Scope
- Currently the scope of projects is still mostly focused at a single member level.
- There are exceptions, like Nathan Egge from Google proposing a straw man Gentoo build for the community.
- Non-member updates continue to be monitored by Redbeard.
- Debian is at the early stages of development (they’re discovering odd issues in fakeroot and other packages which are causing systemic build issues).
Priorities
- Member companies proceed independently with the hope of later coordination
- Samsung has been reporting regular progress on Tizen
- Red Hat continues to see interest around automotive use cases, but this will require a multi-year timeline around achieving functional safety certification (i.e. ISO 26262 certification) for anything related to RISC-V
Challenges and Needs
- Ambiguity about working group participation has lead to sporadic participation from community members. We languish with the awkwardness of trying to coordinate communities from behind closed doors.
- There seems to be trepidation about “not doing the right thing” or “stepping out of [a members] lane”. This is a missed opportunity for identifying the organization’s blind spots.
- More hours in the day to complete what needs to be done. 😁
WG Challenges?
- Developer Infrastructure WG
- Lead and scope?
AIs from last week
- Contractor Proposal Spreadsheet add your projects ASAP!
- Schedule your PM support meeting with Jenn
- Meeting Scheduling
- Attendance
- Follow up emails w/ action items
Next Week:
- 2 FTE Contributor Audit Discussion
17 Aug 2023
Attendees:
- Ammone Chapackdee, Rivos
- Anup Patel, Ventana
- Daniel Barboza, Ventana
- Fei Wu, Intel
- Jeff Law, Ventana
- Jenn Bonner, Linux Foundation
- Kumar Sankaran, Rivos
- Ludovic Henry, Rivos
- Michelle Martineau, Linux Foundation
- MyungJoo Ham, Samsung
- Nathan Egge, Google
- Paul Walmsley, SFive
- Randall Bosetti, Google
- Raul Xiong, Alibaba
- Simon Harvey, Imagination
- Sunil V L, Ventana
- Tim Ouyang, Andes
- Uli Drepper, Red Hat
Agenda TBD
10 Aug 2023
Attendees:
- Andrew De Los Reyes, Rivos
- Andrei Warkentin, Intel
- Mason Li, Mediatek
- Jeff Law, Ventana
- Jenn Bonner, Linux Foundation
- Michelle Martineau, Linux Foundation
- Daniel Barboza, Ventana
- Paul Walmsley, SFive
- Tim Ouyang, Andes
- Simon Harvey (Imagination)
- Kumar Sankaran, Rivos
- Ammone Chapackdee, Rivos
Agenda
- Simulation and Emulation WG Deep dive (Daniel Barboza)
- Status
- Scope
- Priorities
- Challenges and needs
- The Working Group is committed solely to QEMU at this moment
QEMU supports RISC-V for 6 years, but advanced features, new extension/feature support and ecosystem enablement need focused
efforts.
This Working Group focus on:- Add support for new extensions and features
- Bridge gap between QEMU RISC-V support and other mature architectures like x86 and ARM64
- Collaboration to avoid duplication of work
- Ecosystem enablement
WG meets first Wednesday of every month at 7AM PT.
- QEMU virtualization support (KVM and Emulated)
- Full system emulation mode
- KVM support: shared goal with Kernel and Virtualization WG
- Emulation support: required to support virtualization development when hardware is not readily available
- QEMU linux-user support
- "Docker mode": binaries are run in the target environment (architecture/chip/board)
- Use by Toolchain/general application development
- Based on deduplicated projects with highest priorities, WG selected:
- Already accepted. Will be available in QEMU 8.1 (to be released this month)
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- Patches sent for review. Design discussions happening
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- Patches sent for review. En route for QEMU 8.2 (Q4 2023)
- Upstreaming not started
- Requires ACPU support for AIA to be accepted first
- Upstreaming not started
- Upstreaming not started
- Upstreaming not started
- QEMU linux-user riscv_hwprobe syscall support
- QEMU Virtual IRQ and IRQ filtering support
- QEMU PCIe passthru on x86 hosts
- QEMU Vector Crypto Support
- QEMU ACPI support for AIA
- QEMU ACPI support for PLIC
- QEMU RVA22U64/S64 profile support
- QEMU IOPMP support
- QEMU WorldGuard support
- Other projects worked on by RISE members tracked in the wiki and spreadsheet
- QEMU
- RVV performance enhancements
- Vector TCG Host-Native implementation
- Cleanup: remove prematurely merged non-standards
- SLX32 support
- Vendor extension framework support
- Promote more participation in the community mailing lists
- More tests and reviews
- Avoid long delays in posting follow-up versions
- Include more simulators and emulators
- 2 Spike projects in the spreadsheet without owners/ETA
- Other open source projects (e.g. gem5) that might be of RISE interest
- Agenda
- Status
- Scope
- Priorities for 2H23 (Q3 & Q4 2023)
- Priorities for 1H24 (Q1 & Q2 2024)
- Challenges and Needs
AIs from last week
- scaling back weekly WG updates (but everyone can put a problem they are having on the agenda at any time, not having to wait for a WG deep dive)
Discussion/Questions:
Jeff Law and Andrew De Los Reyes prefer not to have weekly updates in favor of deeper conversation on the deep dives.
The group agreed.
- Update on Build Farms
- Cloud instance is where we are stuck.
- Cloud environments are being established through LF, Google credits are pending.
- Paul Walmsley provided a timeline for the Build Farm Project
Discussion/ Questions
- WG Updates
- System Libraries, Provided Deep Dive last week
- Distro and integration. Brian OOO
- Firmware, Provided Deep Dive Last week
- Language Runtimes, no update
- Summary
Discussion/ Questions
- Kernel and Virtualization Working Group
- Development completed and upstreaming started (patches)
Discussion/ Questions:
- Debug and Profiling Working Group
- An attempt of RVV 0.7 on Valgrind from T-Head using the dirty helpers for all instructions
Discussion/ Questions:
- Compiler/Toolchain Working Group
- WIll spin out at least two more small efforts to optimize away unnecessary arithmetic involving stack addresses
- More generally useful of the two major bodies of work (targets 3-4 workloads within specint)
- Work targeting leela integrated as well as work fixing deficiency in copy propagation found while evaluating leela work
- 3rd version of new fold-mem-offsets pass posted. 4th will be needed
- Costing model still goofy – may spin subproject for this
- Unification of target patterns from 4 submissions integrated
- Diving into 3 implementations of enhancements to generic if-conversion
- LLVM project more release than development focused (as expected)
- PSABI proposal to provide unified attribute across LLVM/GCC to control architecture specifications for function multiversioning and optimization
- GCC auto vectorization – improving code when we know loop trip counts and for loops with control flow that maps well into masked vector ops
- GCC address rewriting to eliminate unnecessary arithmetic
- zicond/if-conversion – improve performance by using branchless sequences for various idioms (conditional moves, conditional arithmetic/logicals, etc)
Discussion/ Questions:
Nathan Egge: The developer environment is now on the wiki and available for those outside RISE to use
03 Aug 2023
Attendees:
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Ludovic Henry (Rivos)
- Felix Feeman (Mediatek)
- Ammone Chapackdee (Rivos)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Jenn Bonner (The Linux Foundation)
- Sunil V L (Ventana)
- Andrei Warkentin (Intel)
- Anup Patel (Ventana)
- Drew Fustini (BayLibre)
- Michael Turquette (BayLibre)
- Simon Harvey (Imagination)
- Tim Ouyang (Andes)
- Fei Wu (Intel)
Agenda
- Introducing Jenn Bonner
Bio:
With nearly two decades of experience in technology ecosystems, Jenn has navigated her career from interoperability standards to supporting open source innovation with the Linux Foundation since 2021. As a Senior Program Manager, she plays a critical role in the operational success of organizations like the OpenWallet Foundation and RISE, and previously the Open Source Security Foundation. Her combination of operational expertise and keen business judgment positions her as a trust-building partner within the tech community. Jenn's academic accomplishments include a Graduate Certificate in Business Management from Indiana University's Kelley School of Business and a BA in Communications from the University of California, Davis.
How will Jenn support RISE?
Jenn brings a broad program management and community management background, she will be helping organize workflows and documentation associated with RISE Working Groups. She'll begin meeting with working group leads as well as TSC chairs to help focus her efforts in the coming weeks.
- Firmware Deep Dive (Sunil VL) (Status/Scope/Priorities/Gap Analysis/Challenges)https://docs.google.com/presentation/d/1tcfjcTys7SoYE_sDqPwwe1ozUm36Ixy8-dSLCvy_4Zk/edit?usp=sharing
Firmware WG Status
Basic Open Source Firmware Solutions for RISC-V already present. However, advanced features, new extension/feature support and ecosystem enablement need focussed efforts.
The RISE effort will focus on
- Collaboration to avoid duplication of work
- Ecosystem enablement
- Add support for new extensions and features using virtual platforms.
- Make it easy for new platform vendors to support the firmware solution.
- Bring gaps in standards/spec to RVI TG or appropriate Industry standard body.
Focus: Accelerating RISC-V adoption by upstream developers
Firmware WG meets first Wednesday of every month at 8AM PT.
Firmware WG Scope
Different Open Source Firmware projects are available. Current RISE focus is on below projects.
- EDK2 (a.k.a Tianocore)
- Reference implementation of complete UEFI specification and UEFI PI specification.
- Supports all the features like ACPI required by the Server class platforms.
- Supports Qemu virtual platform.
- OpenSBI
- Reference implementation of RISC-V SBI specification.
- Dominant M-mode firmware solution today.
- TF-M equivalent for RISC-V
- Provide a secure boot implementation for RISC-V microcontrollers and other embedded processors, typically running in M-mode or M+U-modes.
Priorities for 2H23 (Q3 & Q4 2023)
Based on deduplicated projects with highest priorities, WG selected:
- MultiArchUefiPkg
- Ability to run non-native UEFI drivers.
- Required for OptionROM.
- MMU Support in EDK2
- Support basic MMU (Sv57 etc) first and then Svpbmt
- It is a dependency for MultiArchUefiPkg
- StandaloneMMPkg in EDK2
- Long term project to provide secure EFI variable access, secure boot etc.
- Depends on APTEE/ COVE specs.
- CBO extension support in EDK2
- Support CBO extensions (Zicbo*) in EDK2 for cache management
- SSTC Support in EDK2
- Support SSTC extension for timer implementation in EDK2.
- CLANG support in EDK2
- Big ask from senior EDK2 maintainers maintaining common modules across architectures.
- CLANG doesn’t need to be different to cross build EDK2 for different architectures.
- Upstreamed this week.
- TF-M secure bootloader for RISC-V
- Provides a secure boot implementation for RISC-V microcontrollers and other embedded processors.
- Other projects worked on by RISE members tracked in the wiki and spreadsheet
Andrei Warkentin (Intel): minor clarification - MultiArchUefiPkg enables existing and future off the shelf discrete PCIe devices to "just work" in the UEFI boot/preboot envo on RISCV PCs and servers.
Priorities for 1H24 (Q1 & Q2 2024)
- EDK2
- Backtrace support
- UefiPayloadPkg
- StandaloneMMPkg
- DynamicTablesPkg
- EasyDriversDxe
- FdtBusDxe
- CompilerIntrinsic Libs
- Build Size reduction
- Firmware First RAS handling
- OpenSBI
- RAS/SSE
- Sparse HartID support
- Native/hosted debug support
- TF-M Run time features
Gap Analysis
- StandaloneMMPkg project has identified few dependencies on COVE spec changes and implementation
- Discussion with COVE/APTEE leads in progress
- Coreboot / linuxboot related project proposals from member companies.
Drew Fustini (BayLibre): clarification - FdtBusDxe allows EDK2 to make use of device trees?
Andrei Warkentin (Intel): fdtbusdxe allows platform drivers to follow the uefi driver binding model instead of just hardcoding some mmio address at build time, so yes using fdt to configure drivers on the fly - just like uboot does today – the net goal here is to make it easier to port edk2, but also to avoid having to do separate builds for minor board/soc variations
Challenges
- Build and test system for EDK2.
- Request for 1 node added in Build Farms proposal.
- Not urgent, so not required to be part of rapid build farm pilot.
- BayLibre Presentation
Michael Turquette – joined by Drew Fustini (BayLibre)
- WG Updates (not discussed due to time constraints, but updates listed in slides)
- System Libraries Working Group
- Released updated RISC-V developer environment [1]
- gcc-13.2.0 (2023-7-27)
- cmake-3.27.1 (2023-7-25)
- Fixed QEMU user bug with getauxval() and sent patch upstream [2]
- Wrapped qemu-riscv64 to pass -cpu rv64,v=true,vext_spec=v1.0
- Bumped toolchain package versions
- Larger disk image, ~74M smaller download
- libyuv RVV bug fixed upstream, pulling into AOSP surfaced clang rounding issue [3]
- Fixed minor warnings when building gcc-13.2.0 riscv/atomic.c [4], patch in flight
- Started “Best Practices” document for RVV development and optimization
[1] https://people.videolan.org/~negge/RISCV-DevEnv-2023-07-31.tar.gz
[2] https://lists.nongnu.org/archive/html/qemu-devel/2023-08/msg00454.html
[3] https://lists.riscv.org/g/sig-android/topic/100508949#270
[4] https://lists.riseproject.dev/g/RISE-Compilers-and-Toolchains-WG/message/39
- Simulator Emulator Working Group
- WG monthly meeting yesterday
- Covered general updates
- New project added:
- SE_01_011 - QEMU RVA22U64/S64 profile support
- Assignee: Daniel Barboza (Ventana)
- ETA: end of 2023 (QEMU 8.2)
- Language Runtimes Working Group
- Support for hardware feature detection
- MD5 Intrinsics
- Long-time contributors to Go on RISC-V may do contract work for RISE
- Kernel and Virtualization Working Group
- LK_01_002 - ACPI support for PLIC driver
- Development completed and v1 patches will be out soon
- LK_03_002 - KVMTOOL AIA in-kernel irqchip
- Development completed and upstreaming started (patches)
- Firmware Working Group (deep dive, see above)
- Distro and Integration Working Group
(No update provided)
- Debug and Profiling Working Group
- SiFive added simpleperf, which is primarily used on Android
- Andes updated the status of gdb/lldb on RISC-V
- Compiler/Toolchain Working Group
- Crazy busy week. Update just GCC focused
- Vectorization work continues – dynamic rounding, x264 specific opts, ABI annotations, etc).
- Atomics – Ztso bits landed in GCC, PSABI moving forward on this issue
- a.6/a.7 mappings got lost in the gcc-13.2 shuffle. Rescheduled for gcc-13.3 in the winter
- Address rewriting – path forward for Jivan and Manolis’s work found. Closing investigation phase of adjusting large offset addresses
- Zicond moving along. Cost model problem deeper than anticipated, may spin out distinct task for that. May spin out some generic work that will allow zicond to slightly improve CRC computations (when not using clmul or table lookups)
- Bugs highlighted need for testing code generation of various extensions
- Rivos indicated they’re using free github runners – working better than expected. Need to figure out how that fits into the overall CI plan
- Scaling back WG updates
The original value prop behind the weekly WG updates was motivated by two needs:
- Having something “to do” and talk about in the weekly TSC calls.
- Having the necessary sync-ups as the TSC spun up to prepare the 2H23 priorities for the Board
Now we have weekly deep-dives and other material (external guests/presos or project reviews). Do we still want to continue with the weekly WG updates? Is this a useful tool for the leads?
- AIs from last week
Not discussed
27 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Mason Li (Mediatek)
- Trilok Soni ( Qualcomm)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Ludovic Henry (Rivos)
- Felix Feeman (Mediatek)
- Elliot Hugues, (Google)
- Ammone Chapackdee (Rivos)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Michelle Martineau (the Linux Foundation)
- Jenn Bonner (The Linux Foundation)
Agenda
- System Libraries Deep Dive (Nathan Egge)
System Libraries WG Status
Large set of system libraries already build and run on RISC-V, however core optimization work is stalled due to lack of clear targets, available hardware, extension expertise, broken tooling and developer funding.
The RISE effort will focus on
- Collaboration to avoid duplication of work
- Ecosystem enablement
- Engage OSS community to understand, remove blockers to RISC-V development
- Produce “Best Practice” guides, developer & testing environments, CI/CD scripts
- Identify key areas for investment: multimedia, AI/ML, scientific computing, HPC, …
- Developer access to representative hardware
Focus: Accelerating RISC-V adoption by upstream developers
System Libraries WG meets every other Tuesday @ 8am PT - Please join us!
Scope
- Extremely large: Potentially 1000’s of OSS projects need RISC-V code
- Not possible for RISE to enable entire ecosystem, in some cases lack domain expertise
- Focus on open source software for Linux (covers large set of users)
- Only consider RVI ratified extensions, e.g., intentionally not supporting RVV 0.7.1
- Work to enable RISC-V support for RISE high priority projects [1]
- Find ecosystem dependencies on other WGs, file and fix bugs upstream
- Document best practices, publicize RISE priorities, community outreach
- Solve enablement problems where developers are. Need to unblock existing projects
- Extremely large: Potentially 1000’s of OSS projects need RISC-V code
- Not possible for RISE to enable entire ecosystem, in some cases lack domain expertise
- Focus on open source software for Linux (covers large set of users)
- Only consider RVI ratified extensions, e.g., intentionally not supporting RVV 0.7.1
- Work to enable RISC-V support for RISE high priority projects [1]
- Find ecosystem dependencies on other WGs, file and fix bugs upstream
- Document best practices, publicize RISE priorities, community outreach
- Solve enablement problems where developers are. Need to unblock existing projects
[1] https://lf-rise.atlassian.net/wiki/display/HOME/2023+H2+Priorities
Priorities for 2H23 (Q3 & Q4 2023)
- Based on deduplicated projects with highest priorities, WG selected:
- glibc
- bionic
- Openssl
- BoringSSL
- zlib
- Other system libraries worked on by RISE members tracked in the wiki and spreadsheet
Gap Analysis for RISC-V Ecosystem
- Identified need to target a specific ABI
- May require coordination with Distro Integration WG
- Combinatorial explosion of configurations not tractable for testing
- Ecosystem has limited ability to optimize for RISC-V
- RISE (this WG) should make a decision and publicize it
- Request for turn-key development environment
- Could also be repurposed for CI / CD on github or gitlab
- Combination of QEMU + Kernel + Distro with all extensions and features enabled
- Suitable for building, running and testing RISC-V code in repeatable fashion
- Address near-term problem of patches not landing due to inability to test
- Possible to wrap this with scripts that permute RISC-V hardware, e.g., RVV length
Developer Environment Update
- Stood up QEMU + Kernel + Distro developer environment [1]
- Source based, rolling release distro => easy to make and build packages
- Contains developer tools by default, perfect to build OSS projects
- clang-16.0.6 (2023-6-14)
- gcc-13.1.1 (2023-5-5)
- git-2.41.0 (2023-6-1)
- python-3.12.0_beta4 (2023-7-11)
- rust-1.71.0 (2023-7-12)
- cmake-3.27.0 (2023-7-18)
- make-4.4.1 (2023-2-26)
- ninja-1.11.1 (2022-8-30)
- flex-2.6.4 (2022-9-24)
- bison-3.8.2 (2021-9-21)
- Pros: easy-to-use, up-to-date Cons: qemu-system is slow
- https://people.videolan.org/~negge/RISCV-DevEnv-2023-07-25.tar.gz
- QEMU 8.0.3
- Linux 6.5.0-rc3 (2023-7-23)
- Gentoo userspace
- Up-to-date developer tools, non-exhaustive list:
Developer Environment Kernel
nathan@vulpes ~/git/linux $ ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- make menuconfig
Developer Environment Booting
nathan@vulpes ~/RISE/DevEnv $ qemu-system-riscv64 -nographic -machine virt -cpu rv64,v=true,vlen=256,elen=64,vext_spec=v1.0 -smp 4 -m 8G -kernel Image -append "root=/dev/vda1 ro console=ttyS0" -drive file=gentoo.img,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -device virtio-net-device,netdev=usernet -netdev user,id=usernet,hostfwd=tcp::10001-:22 -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0
Gap Analysis for RISC-V Ecosystem (needed)
- Best practices guide for optimizing RISC-V
- How to translate existing packed SIMD to length agnostic RVV
- Techniques to “validate” speed-up even in emulated environment, e.g. perf record
- Preferred mechanism for runtime RISC-V detection
- Pitfalls, gotchas to avoid “Things I wish I knew when I first started writing RISC-V”
- Analyze dependency graph of linux packages
- Look at top-K most depended on packages
- Estimate “cost” for producing optimized routines by % SLOC of assembly
- Potentially cluster these into related project areas, e.g. multimedia, AI/ML, HPC
- Need for actual RISC-V hardware
- Is there an interim solution we can document for performance testing?
- May not be sufficient to just target QEMU when writing RISC-V optimizations
- No suitable hardware currently available that matches ABI target
- RISE (this WG) should make hardware available to OSS projects from top-K list
Challenges
- Important APIs still not released upstream
- RVV extension landed in 6.5 kernel
- hwprobe() will not be exposed by glibc until 2.39 in Q1 2024
- Immature tooling
- QEMU support for RISC-V still has gaps
- Debugging support limited
- Even projects that advertise RVV support have bugs, see libyuv [1]
- This is likely a bigger problem as no one is “checking” quality of implementations
- Need to convince upstream to build and test yet another ISA
- OSS projects notoriously underfunded and overtaxed, align on open ideology?
- https://github.com/google/android-riscv64/issues/38#issuecomment-1652515652
Runtime Detection in QEMU Bug [1]
#include <sys/auxv.h>
#include <stdio.h>
#define ISA_V_HWCAP (1 << ('v' - 'a'))
void main() {
unsigned long hw_cap = getauxval(AT_HWCAP);
printf("RVV %s\n", hw_cap & ISA_V_HWCAP ? "detected" : "not found");
Case Study: libjpeg-turbo
- Builds for RISCV, but has no SIMD
Case Study: libjpeg-turbo
- Unit tests fail on RISCV
Case Study: libjpeg-turbo
- https://github.com/libjpeg-turbo/libjpeg-turbo/issues/620
- Developer interested
- Does not have funding
- Can RISE fix this?
Next Steps
- outreach
- working on 3 identified gaps
WG Updates
Simulator Emulator Working Group (Daniel Barboza)
- WG leader talked about RISE in the QEMU SIG meeting yesterday
- People showed interest in how outsider could also collaborate/join meetings and mailing lists
- "If meeting notes are in the wiki page, and the wiki is open, doesn't it mean that the meeting should also be open?"
- We settled to keep using this QEMU SIG timeslot to talk about RISE related work in the future
Developer Infrastructure Working Group (Paul Walmsley)
- Working group established. subscribe mailing list here; The Wiki page for this group has also been created and can be contributed to Here.
- WG Lead: Paul Walmsley; Barna Ibrahim
- Proposal to the board has been approved
- Enabling Kernel & KV WG and Compiler WG
- Using GCP with Google Support
Next Steps
- Monitor, evaluate Build Farm usage from 2 Working Groups.
- Propose Build Farm next steps to BoD in mid November
- Start RISE TSC RISC-V Board Enablement needs effort
Inviting Open Source Project contributors (Barna Ibrahim)
- Board Supported to have TSC decide to invite open source maintainers to specific WG.
- Board Ask 1) Process 2) Keep a list
- A lot of RISE prioritized initiatives are on specific Open Source projects. TSC Working Groups need a path to communicate and engage directly to maintainers/developers for their respective open source projects.
- Currently the public/developers only sees the wiki and no two way engagements.
- A TSC’s or WG ability to invite/add an organization (An open source project maintainer/delegate) to the specific working group mailing list and meetings. For example, right now the Distro WG needs to have a path to communicate with the is Debian maintainers.
- Challenge
- Request
- Can this be decided on TSC or WG level for each invitation or does each of the invitation need to come to Governing Board?
Contractor Engagement Process - 7/27 BoD (Barna Ibrahim)
- Goals
- Define a streamlined process for selecting contractors that can help us with RISE TSC priorities
- Provide transparency in our engagement process
- Focus on projects with clear deliverables
- Request for Proposals (RFP)
- Driven by Working Groups, approved by the Governing Board
- Published for the public on to submit bids
- WG recommends a proposal and the board votes to approve
- Next Steps
- Set up communication channels with the public (wiki, mailing lists, etc)
- Publish our template for RFPs
- Work with LFEU on the details of setting up contracts and payments
Language Runtimes Working Group ( Andrew De Los Reyes)
- Summer vacations, large slowdown in contributions to projects
- Support for hardware feature detection
- Discussions about RISC-V profiles on golang/go#61476
- Patch 1 of 4 merged
- Go: in progress
- Long-time contributors to Go on RISC-V may do contract work for RISE
Kernel and Virtualization Working Group (Kumar Sankaran)
No updates from previous meeting
Firmware Working Group (Kumar Sankaran)
- StandaloneMMPkg
- Staging branch published - https://github.com/tianocore/edk2-staging/tree/RiscV64StandaloneMm
- CLANG support
- Waiting for maintainer ACK. Hope to get included in August EDK2 release.
- Preparing deep dive slides.
Distro and Integration Working Group (Brian Harrington)
- No new work to speak of.
- Community updates noted on the wiki:
- Wipe and start over beginning with 90 packages:
The procedure is to rebootstrap the port within the official archive, which means we won't import the full debian-ports archive. Therefore our next step is to build a minimal set of ~90 source packages using the debian-ports archive and then import them into the official archive. - Debian announces official support, target 2025.
- Redbeard will be on PTO the next two meetings. Do we need coverage?
- Action item: Redbeard will send any needed updates to mailing list.
Debug and Profiling Working Group (Ammone Chapackdee)
- Presented to TSC and Board DP WG Deep Dive 7.27.2023
- Andes will look for an internal owner for this
- eBPF
- gdb/lldb
- Tasks ownership
- Dependency/overlap with other WG
- Start a WG meeting
- Update wiki
- Overall positive feedback
- Community Engagement
Compiler/Toolchain Working Group (Jeff Law)
- GCC
- Double digit improvements in Imagemagik due to generic vector work
- Low level vector refactor seems to be improving build times ~10%
- Better understanding of how VRULL & RAU’s address simplifications will interact
- Sorted out roughly 75% of basic Zicond support across the 3 “competing” implementations
- LLVM
- LLVM 17 branch imminent – last ~6 months of LLVM RV work going public
- Large code model – need Zicfiss extension in spike to facilitate validation
- Some discussions around FTZ semantics for denorms (need it or not?)
- Zvfh support no longer considered experimental
- Binary toolchains
- Would like to know if building with the new branch is working with LTO
- Do we want to have links to Simon’s work on the RISE website
- How to drive folks this this version rather than others that are out there (gitlab).
AIs From Last Week
- BayLibre will be presenting 8/3/2023
20 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Andrei Warkentin (Intel)
- Ludovic Henry (Rivos)
- Felix Feeman
- Ammone Chapackdee (Rivos)
- Sunil VL (Ventana)
- Uli Drepper ( Red Hat)
- Anup Patel (Ventana)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Simon Harvey (Imagination)
- Fei Wu (Intel)
- Tim Ouyang (Andes)
- Ammone Chapackdee (Rivos)
- Michelle Martineau (the Linux Foundation)
Agenda
- Debug and Profiling Deep Dive (Fei Wu)
Debug and Profiling WG Status
RISE members have dedicated efforts on some debug and profiling tools, but have low investments on others.
The RISE Effort will focus on
- Collaboration to avoid duplication of work
- Communicate RISC-V ecosystem readiness
Focus: Facilitate Efforts and Communicate Ecosystem Readiness
Debug and Profiling Scope
Category | Examples |
Dynamic Binary Instrumentation (DBI) | Valgrind, DynamoRIO |
Profiler | perf-tools, gprofng, PAPI, libpfm4 |
Tracer | eBPF, ftrace, SystemTap |
Debugger | gdb, lldb |
Checker | Address/Thread Sanitizer |
Toolchain | binutils |
Benchmarking and Analysis | LKP, SPEC CPU |
Not In Scope-Language/Application specific tools
DBI Priorities
- 2H2023 Goals:
- Framework for RVV on Valgrind
- Tens of instructions enabled for basic testcases
- Basic RISC-V Vector support for Valgrind
- 2024 Goals:
- Full RISC-V Vector support for Valgrind
- Other extension such as bitmanip on Valgrind
- Longer Term Goals:
- Investigate other DBI solutions such as DynamoRIO
Profiler Priorities
- 2H2023 Goals:
- Userspace cycle/instret access
- Perf event discovery & encoding from JSON file
- Perf-tools
- 2024 Goals:
- Perf CTR support
- Perf-tools
- Longer Term Goals:
- New (if any) PMU relevant spec support
- PAPI, libpfm4 & gprofng are candidates
Tracer Priorities
- 2H2023 Goals:
- Bpftrace, bcc, bpftune, cilium
- Evaluate the status of eBPF based tools on RISC-V (Looking for owner)
- eBPF
- 2024 Goals:
- Depend on the evaluation above
- Add the packages to popular distros?
- eBPF
- Longer Term Goals:
- SystemTap and others are candidates
Debugger Priorities
- 2H2023 Goals:
- Evaluate the status on RISC-V (Looking for owner)
- gdb/lldb
- 2024 Goals:
- Depend on the evaluation above
- gdb/lldb
Checker Priorities
- 2H2023 Goals:
- Support it on GCC/LLVM
- Address Sanitizer
- Longer Term Goals:
- Thread Sanitizer
Benchmarking Priorities
- 2H2023 Goals:
- Enable LKP framework and several benchmarks on RISC-V
- LKP
- 2024 Goals:
- Enable profiling tools on LKP
- Collect performance data on real hardware
- LKP
Debug and Profiling Challenges/Needs
- Needs
- PMU development - with the extension such as CTR
- Performance benchmarking - okay to publish performance data, good enough PMU support
- People to take the initial work on eBPF, gdb etc.
- Hardware
- Challenges
- Maintain an active WG with people working on very different projects
OPEN DISCUSSION
- Build Farm Proposal
- Feedback being collected through EOD 7/19 (yesterday)
- Paul/Barna - Rapid Build Farm proposal: https://docs.google.com/document/d/1MkG19Kt4GwAnfI6M7YlkWj13-9woTejSjJ5rHFcE5TA/edit
- Assist the community quickly
- Gain experience with what works and what is needed in practice
- Have some concrete results that RISE can share by the time of the RISC-V Summit.
- Which other WG should be enabled now? (WG Needs)
- WG Updates
System Libraries Working Group
- SiFive has agreed to donate a BoringSSL port for vector crypto
Google working on libflac SL_01_001
Simulator Emulator Working Group
- SE_01_001 - QEMU linux-user riscv_hwprobe syscall support
- Upstream status changed to “Completed”
- Upstream Version changed to “QEMU 8.1” (late August 2023)
Language Runtimes Working Group
- Update to the RISE Board
- Support for hardware feature detection
- Support for V extension
- Go: feature detection via hwcap, hwprobe is coming soon
- Port libraries and frameworks
- Backports:
- Feedback for the Build Farm proposal
- Integration of Android Runtime
Kernel and Virtualization Working Group
- LK_01_007 - IOMMU driver with DT support
- Upstreaming the IOMMU driver has started (patches)
- LK_02_018 - KVM bitmanip extension virtualization
- Need to support Zba, Zbb, Zbc, and Zbc extensions in the KVM ONE_REG interface
- Development and upstreaming completed (patches)
- This will be available in Linux-6.6
- LK_02_019 - KVM vector crypto extension virtualization
- Need to support various Zvk* extensions in the KVM ONE_REG interface
- Development completed and upstreaming started (patches)
- Dependency on kernel side patches so might be available in Linux-6.6
Firmware Working Group
- MMU support in EDK2
- Phase 1 (without Svpbmt) patches upstreamed
- CLANG support
- Final stages of community review.
- CMO support
- New design under community review.
- Plan to discuss and finalize 1H 2024 projects/priorities in August Monthly meeting.
Distro and Integration Working Group
- Fedora Updates
- Fedora community members have currently built over 90% of the packages for the current release: Fedora 38
- Presently this includes a full desktop environment (KDE), containerization (Kubernetes, Podman, Containerd), and some desktop applications (Firefox, Thunderbird)
- The last 10% is going to be the hardest.
Package Name | Version | Status |
gcc | 13.1.1 | Complete |
glibc | 2.37.4 | Complete |
binutils | 2.39 | Complete |
binutils | 2.40 | Ongoing |
libffi | 3.4.4 | Complete |
LLVM/Clang | 16.0.4 | Complete |
LLVM/Clang | 15.0.7 | Complete |
LLVM/Clang | 14.0.1 | Complete |
Package Name | Version | Status |
Python | 3.11.4 | Complete |
Perl | 5.36.1 | Complete |
golang | 1.20.5 | Complete |
gnome | 44.1 | Ongoing |
KDE | 17.08.3 | Complete |
Firefox | 115.0 | Complete |
Thunderbird | 102.12.0 | Complete |
Podman | 4.5.0 | Complete |
Package Name | Version | Status |
Ceph | 17.2.6 | Complete |
Kubernetes | 1.26.4 | Complete |
Containerd | 1.6.19 | Complete |
Nginx | 1.22.1 | Complete |
NodeJS | 20.2.0 | Complete |
Conda | 23.3.1 | Complete |
Chromium | 113.0.5672.63 | Ongoing |
cowsay | 3.7.0 | Complete |
Compiler/Toolchain Working Group
- GCC
- Vector: Low level redesign, improves maintainability, extendability and may also help with recent compile-time explosions
- Vector: memcpy with V discovery. Very early libm routines like sin/cos.
- Slow, but important, progress on address reassociation work
- “Competing” Zicond basic support implementation posted for review
- Atomics reopened to cover Ztso optimizations from Rivos
- LLVM
- Major pseudo cleanup
- BOLT post-link optimizer
- Zcmp, Zacas, rounding mode control
- First release with a variety of items of interest as well as various improvements to existing items of interest to RISE.
- Not tracking by RISE
- Progressing towards LLVM 17 release
- GNU Cauldron – Sept 2023. Expecting to have some RISC-V BOFs, talks, etc
- Expecting attendees from Rivos, RAU, VRULL, Embcosm, Ventana, etc
- Opportunities to evangelize RISE
AI from last week
Invite BayLibre for a presentation on their priorities in the RISC-V ecosystem?
13 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Nathan Egge (google
- Andrei Warkentin (Intel)
- Andrew De Los Reyes (Rivos)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Uli Drepper (RedHat)
- Mason Li (MediaTek
- Simon Wang ( Andes)
- Paul Walmsley, (SiFive)
- Kris Murphy, (RedHat)
- Barna Ibrahim, (Rivos)
- Kumar Sankaran, (Ventana)
- Ammone Chapackdee (Rivos
- Michelle Martineau (The Linux Foundation)
Agenda
- WG Updates
System Libraries Working Group
- System Libraries WG met 7/11 attended by Google, RedHat, Imagination, Intel [1]
- Review 2023 H2 priorities on wiki [2]
- Discussion about baseline ABI to support
- Challenge: VectorCrypto not yet ratified, not full supported in HW
- Consensus that RISE publishing a recommended target necessary
- Straw man: RVA22 + Vector + VectorCrypto
- Upstream OSS ask for RISE to provide turnkey RISC-V developer environment
- QEMU + Kernel + Distro (Debian?) ideal for both dev and CI / CD uses
- No good if only partially staffed, must just work and stay up-to-date
- RedHat started working on top-K most depended-on packages
- Potential to do analytics on this data, help set 2024 H1 priorities
- https://docs.google.com/presentation/d/15FO-aYrFdRd0COlyO3ZUKJxS3FdGJTbUgPBiIOXpDjs
[2] 2023 H2 Priorities
Simulator Emulator Working Group
- No Updates this week
Language Runtimes Working Group
- Language RunTimes update was given to the bored today 7/13/2023
- Overall positive reception
- Asks:
- Building a Visual status dashboard on status for reach language (ecosystem readiness)
- Which Projects sees considers RISC-V is supported architecture - can be added to the dashboard
- Look into V8 status
- Functional maturity of each language compared with other architectures (x86, ARM) (Need volunteers)
- LR Project Status
- Above items can be lined up for next deepdive 9/7/2023.
Kernel and Virtualization Working Group
- One round of discussions happened on 1H24 priorities
- Initial 1H24 priorities to be finalized by next monthly meeting
- Started discussion on RAS software stack
- This will be completed in the next monthly meeting
- Work items will be defined as-part of this discussions
- Build/CI Infrastructure
- Overall Board was supportive of the idea and funding this project.
- Start small maybe combination of HW and Cloud, then scale as the usage increases.
- Next Steps:
- GCP Usage (Nathan)
- AWS Usage (Jeff Law) (AWS promotional credits for open source projects)
- OSL-OSU (Barna, Nathan)
- Kernel WG proposal spin this off to broader WG needs (Language Runtimes, System Libraries etc). Update the wiki accordingly w/o cost.
- Dig Deeper on the cost:
- Put a proposal together in the next couples weeks (Volunteers, Publish it in TSC list for inputs etc.)
Firmware Working Group
- Monthly meeting happened on July 5th 2023
- Based on feedback during presentation, a new version of patch sent upstream this week.
- Wiki update guidance
- CMO presentation
- CLANG support patches sent upstream.
- StandaloneMMPkg may need some help from RISE members.
- Do we need to maintain both google spreadsheet as well as wiki? Can we have a single source of truth?
Distro and Integration Working Group
- Debian:
- riscv64
- =======
- Although it's not yet in the official architecture list, the riscv64 port
- is making good progress. We expect to be in a position to ship trixie with
- riscv64 support (subject to architecture qualification later in the cycle).
- Bookworm releasing without RISC-V support, but it was close.
- Now may be a good time to invest in Debian so Trixie (2 years out) supports RISC-V.
- Project could use hardware and attention to build failures.
- Brian will reach out to Debian and Fedora
Debug and Profiling Working Group
- Valgrind
- Sent basic Vector-IR prototype code for discussion
- Address Sanitizer
- Not too many updates this week
- It’s valuable to get all the targeted tools’ status on RISC-V
Compiler/Toolchain Working Group
- Haven’t covered this the last few weeks
- Improving the confluence pages
- Stakeholders (RISE and external), resourcing, dependencies, etc
- Filling in more in-progress projects for 2H23 and 1H24 plan
- Seeing others adding content – Simon Harvey (Imagination Technologies), Shao-Chung Wang (Andestech), Chibang Kuan (Mediatek)
- Starting to get better wired into LLVM space
- Coordination of changes across LLVM and GCC (ABI issues)
- Slightly better understanding of ongoing autovec improvements
- CRC optimization discussion – viable plan going forward
- Need to sync with Philip R (he’s reached out, I just haven’t followed up)
- Pushed quite a bit on Zfa, and vector crypto for upcoming binutils release
- Really need to add this to the project pages as it makes sense going forward and there will be ongoing dependencies
- CI/CD on GCC coordination branch just starting to fire up
- WG Deep Dive Schedule
- TSC Presentation(30min)
- Governing Board Presentation(15min)
- Presentation dates have been assigned for all WGs through the end of 2023
Ammone will be reaching out to groups in the weeks prior to their presentations to help them prepare.
Schedule and deck template can be found on the Wiki.- WoW/ Comms discussion
- Slack
- GChat
- Discord
- How are the email lists working for everyone?
Is email still the preferred comms method?
Should we consider a chat option? What is preferred?
06 Jul 2023
Attendees:
- Jeff Law (Ventana)
- Amit Pabalkar (NVIDIA)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Kris Murphy, (RedHat)
- Elliot Hughes, (google)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Trilok Soni (Qualcomm)
- Tim Ouyang (Andes)
- Ammone Chapackdee (Rivos
Agenda
- Language Runtimes WG Deep Dive (20mins)
- [RISE] Language Runtimes WG Update 7/6/23
- https://lf-rise.atlassian.net/wiki/display/HOME/Language+Runtimes+WG
- Build Farm Project Update (20mins)
- RISE to fund RISC-V Linux Kernel and KVM Build Farm.
- Start with 7-10 nodes (64 core machine) which will ensure proper tests. This includes two nodes dedicated for KVM tests.
- Enabling RISC-V Linux Kernel and KVM maintainers with a stable build environment directly aligns with the RISE mission.
- This will help to accelerate and mature RISC-V Linux Kernel and KVM.
- RISC-V Linux Kernel and KVM Build Farm
- Hosted by OSU-OSL
- 9 machines
- RISC-V Linux and KVM Build Farm Full Proposal
Proposal:
Why should RISE Fund:
Request:- RISC-V Linux and KVM Build Farm Full Proposal
- WG Updates
- Added a Project Tracking Spreadsheet [1]
- Updated 2023 H2 priorities to include SL_00_005 - zlib-ng (SiFive)
- Progress on zlib-ng added RVV support for compare256, slide_hash and alder32
- https://docs.google.com/spreadsheets/d/1_jlbjggMfkyrl2giq_ktvlUAZ4RcoDRQTMsdFr94fFg
- Monthly meeting happened yesterday (July 5th)
- Covered wiki vs spreadsheet usage, went through priority items
- New items added in the spreadsheet:
- SE_01_009 QEMU ACPI support for AIA - Sunil V L (Ventana)
- SE_01_0010 QEMU ACPI support for PLIC - Sunil V L (Ventana)
- One round of discussions happened on 1H24 priorities
- Initial 1H24 priorities to be finalized by next monthly meeting
- Started discussion on RAS software stack
- This will be completed in the next monthly meeting
- Work items will be defined as-part of this discussions
- Monthly meeting happened on July 5th 2023
- Wiki update guidance
- CMO presentation
- CLANG support patches sent upstream.
- StandaloneMMPkg may need some help from RISE members.
- Do we need to maintain google spreadsheet?
- How to assign IDs for each project?
- New discussions about Yocto
- Not much else to report
- Discussing eBPF tasks, Bjorn Topel suggested try and evaluate the existing tools
- Bpftrace
- BCC
- Cilium
- Bpftune
- Need to find someone for this
- Improving the confluence pages
- Slightly more detail on benchmarks improved by changes
- Stakeholders (RISE and external), some resourcing information, etc
- Update for additional dependencies and/or dependencies resolved
- Filling in more in-progress projects for 2H23
- Get backtracing item into the 2H23 plan
- Starting to fill out 1H24 plan
- Starting to get better wired into LLVM space
- Coordination of changes across LLVM and GCC (ABI issues)
- Slightly better understanding of ongoing autovec improvements
- CRC optimization discussion – viable plan going forward
- Need to sync with Philip R (he’s reached out, I just haven’t followed up)
- Pushed quite a bit on Zfa, and vector crypto for upcoming binutils release
- Really need to add this to the project pages as it makes sense going forward and there will be ongoing dependencies
- System Libraries WG
- Simulator Emulator WG
- Kernel and Virtualization WG
- Firmware WG
- Distro Integration WG
- Debug and Profiling WG
- Compiler/Toolchain WG
- AIs from last week
- Is BT from {AArch64/AArch32} to RISC-V (gaming/mobile) a RISE target?
- Establish WG lead terms and election process
- This doesn’t include WG-specific AIs, just the ones that have a global effect.
29 Jun 2023
Attendees:
- Andrei Warkentin, (Intel)
- Jeff Law (Ventana)
- Amit Pabalkar (NVIDIA)
- Andrew de los Reyes (Rivos)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Kris Murphy, (RedHat)
- Elliot Hughes, (google)
- Kumar SanKaran (Ventana)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
- Trilok Soni (Qualcomm)
- Tim Ouyang (Andes)
- Ammone Chapackdee (Rivos
- Michelle Martineau (The Linux Foundation)
Agenda
- Wiki access issues
RISE Wiki has been updated to read-only for the public, an email has been sent to RISE Authorized Contributors with a link to register for edit access. If you are not registered you will not be able to edit the pages. Please reach out to Michelle Martineau with the Linux Foundation for edit access.
- Board update TODAY
Current prioritization activities were “bottom up” - getting the lay of the land.
- Current individual RISE company priorities were collected.
- Collaboration space (Wiki) created.
- Work Groups spun up to parallelize analysis and group SMEs together, in order to:
- Deduplicate, identify dependencies
- Prioritize in order of importance.
- Further dependency and trends analyzed at TSC level.
Working Group | 2H2023 Priorities |
System Libraries | Mostly standard C libraries (glibc, bionic) and SSL (OpenSSL, BoringSSL) enablement. Significant prioritization effort remains. |
Simulators/Emulators | Qemu: developer experience feature completeness for userspace and platform emulation: Hwprobe support, improved AIA support, WorldGuard, PCIe passhtru on x86 hosts, vector crypto. |
Language Runtimes | Focus on Java: jdk11u, jdk17 support. Python (NumPy), Go Runtime, .NET Runtime. Significant prioritization effort remains. |
Kernel and Virtualization | Core ISA (vector extensions), feature completeness (memory hotplug, KASAN), platform (ACPI, AIA, IOMMU) |
Firmware | Core EDK2 (MMU, CMO, SSTC), platform support (StandaloneMmPkg for secure flash, MultiArchUefiPkg for OpRom emulation). TF-M enablement. |
Distro Integration | Further scoping within Tizen enablement and the software compatibility / profile/extension-optimized distro track. Significant prioritization effort remains. |
Debug Profiling | Valgrind vector support and LLVM/GCC ASAN. Significant prioritization effort remains. |
Compilers & Toolchains | GCC/LLVM distro blockers (Zfa, shadow stacks, atomics), optimization (fusion, autovectorization), GCC-13 autovectorization support + binary distribution |
Three market direction trends are evident:
- GP compute (aka “server”)
- HPC (different software stack)
- Consumer (Android/Tizen)
It's reasonable to work across a couple of directions that are different enough from each other to have the maximum impact from enablement activities. Such two directions could be server and consumer.
Need to come up with the representative software stack to align development (and WG prioritization activities), and identify requirements to report up to RVI to aid platform definition activities.
None of the current projects have a RISE requirement for funding or resourcing, which makes sense as all of the projects involve existing RISE member resources. Yet this is somewhat unhelpful is it doesn't communicate the overall level of RISE member engagement within a specific project/category.
AI: Board to advise on accounting for existing RISE member engineering engagement (including 3rd party contractors)
WG operation and “success rate” wrt. participation/prioritization varies wildly:
- WGs with good momentum and prospects
- WGs with no/weak momentum and negative prospects.
Some WGs have too broad a scope (and too little overlap between projects/companies). Some WGs have insignificant to none WG participation (i.e. lead is on hook for everything).
AI: TSC/Board activities to act as forcing functions to improve behavior.
Not every WG is a functioning team yet.
For at least half of the WGs, members are MIA and it’s a one person show. That’s not sustainable and it’s also not representative, violating the basic goals of the RISE membership.
What hasn’t worked well is asking for concrete deliverables and seeing these done in time in the manner requested:
- We need to figure out what’s broken and how to fix it.
- If WG leads can’t accomplish what the TSC has tasked them to do by a particular due date, complain loudly. Send that SOS signal. We can’t afford silent failures (like entirely empty project pages by 6/28).
- It’s not a good use of PM or TSC chair time to prod people along.
- We’re here to help and make you successful. But you need to try and be able to dedicate time.
Also, some process needs to be improved to avoid extra churn elsewhere.
- if you identify a project dependency in another WG:
- Check that WG spreadsheet
- If it doesn’t exist or has the wrong due period - send email to that WG mailing list advising them to update/create/prioritize.
- Remember - we can’t afford to operate as silos
“Forcing functions”
- Each RISE member company needs to re-evaluate its interest in the System Libraries, Language Runtimes, Distro Integration and Debug and Profiling Work Groups and make appropriate recommendations to its WG representatives around participation and engagement.
- Encouraging email-driven instead of meeting-driven collaboration.
- Use TSC/Board meeting deep dives into a WG to help motivate measurable progress.
- RISE Board members are encouraged to drill down into individual projects and reach out to the WG leads for clarification.
WG Updates
System Libraries WG
- System Libraries WG meeting 6/27 attended by Google, RedHat, Imagination [1]
- Key observation: potentially 1000’s of OSS projects missing RISC-V support
- Current WG projects exercising dependencies on other RISE projects, e.g., vector, vector crypto, atomics, hardware breakpoints, etc.
- Near term: Work to enable support for RISE high priority projects
- Long term: Work on tooling and outreach with communities (multimedia, machine learning, HPC, scientific computing, etc.) and help them to enable
- Work items coming out of meeting:
- Need to advertise core set of extensions (profile?) for OSS to target
- QEMU + kernel + distro image that just works for developers, CI/CD
- Need for testing scripts, e.g., being able to instantiate all RVV lengths
- RH: informational survey 28,000+ packages of dependencies & asm
- System Libraries WG meeting 6/27 attended by Google, RedHat, Imagination [1]
Simulator/Emulator WG
- https://lf-rise.atlassian.net/wiki/display/HOME/Simulator+Emulator+WG
- Added missing fields for each priority project in the wiki
- Email sent to every priority project contact
- All contacts replied, wiki pages are getting updated
Language Runtimes WG
Kernel and Virtualization WG
- RAS software proposal being presented by Himanshu (Ventana)
- This presentation will complete in next meeting
- https://docs.google.com/presentation/d/1QI7sLrOvdOliAF86CgefZK98WoZsLwiW8DoEkvWj2Vw/edit?usp=sharing
Kernel and Virtualization Board Farm Proposal
- RISC-V Linux and KVM Build Farm
- Summary:
- RISC-V Linux Kernel and KVM Build Farm
- Hosted by OSU-OSL
- 9 machines
Firmware WG
- CLANG support EDK2 development complete.
- MMU support patchset is in final stage of reviews. Next step would be to add support for Svpbmt once initial patchset gets merged.
- Good progress on wiki page update for 2H2023 committed projects.
- Requesting help from WG members to keep the wiki page up to date with as much details as possible.
Distro Integration WG
- No actionable updates from the group.
- Small number of updates to Confluence
- Minimal traffic on the mailing-list
Debug and Profiling WG
- Identified two projects for 2H 2023
- Project such as perf CTR has work in progress but might not finish in 2H 2023 (depending on the spec ratification), another question is which WG the project should be, the major work is done in kernel, but it’s for the userspace perf tool
- This WG is not active enough, one possible reason is that there is little in common among the tools, we are working on the different communities
Compiler/Toolchain WG
- Improving the confluence pages
- Slightly more detail on benchmarks improved
- Rough cut at stakeholders information and resourcing
- Update for additional dependencies and/or dependencies resolved
- Filling in more in-progress projects for 2H23
- Get backtracing item into the 2H23 plan
- Starting to fill out 1H24 plan
- Starting to get better wired into LLVM space
- Coordination of changes across LLVM and GCC (ABI issues)
- Slightly better understanding of ongoing autovec improvements
- CRC optimization discussion – viable plan going forward
- Pushing on some dependencies we have on binutils so they’re resolved for upcoming binutils-2.41 release
AIs from last week
- This doesn’t include WG-specific AIs, just the ones that have a global effect.
- Is BT from {AArch64/AArch32} to RISC-V (gaming/mobile) a RISE target?
- Establish WG lead terms and election process
- Reaching a conclusion on board farms
- Reaching a conclusion on build farms
AIs for next week
- Dedicate 20 min of the next TSC call to Language Runtimes and help stand up the group.
- set up discu
22 Jun 2023
Attendees:
- Andrei Warkentin, (Intel)
- Jeff Law (Ventana)
- Brian Harrington, (RedHat)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Randall Bosetti, (Google)
- Barna Ibrahim, (Rivos)
- Nathan Egge, (Google)
- Kumar Sankaran, (Ventana)
Agenda
- WG Updates
- Readiness update for Board call 6/29
- Are your Confluence projects pages updated?
- AIs from last week
- AIs for next week
System Libraries WG- Nathan Egge
- Scheduled System Libraries WG meeting
- Compiling proposed list of RISE sponsored projects
- Need for RISC-V hardware hosting
Andrei: Recommended Working groups not rely on meetings to drive the WG progress
Simulator/Emulator WG- Daniel Barbosa
- https://lf-rise.atlassian.net/wiki/display/HOME/Simulator+Emulator+WG
- Added wiki pages for all priority projects for 2023
- Added a new wiki page for 2023 priorities
- Removed redundant/generic projects from the tracking spreadsheet
Wiki pages will be assigned to individual contributors to ensure documentation is complete and clear.
Language Runtimes WG-
- No updates provided
- Projects identified on the wiki, will follow up with Ludovic
Kernel and Virtualization WG-Anup Patel
- Wiki pages for 2H2023 projects available on confluence
- Summary page: https://lf-rise.atlassian.net/wiki/display/HOME/2023-2H
- Each project page will be maintained by owner/contact
- Updates to “Status” of project page will reflect on summary page
- Wiki pages for extension discovery
- https://lf-rise.atlassian.net/wiki/display/HOME/RVA23+Profile
- Kernel HWPROBE: Key-value pairs using VDSO for user-space apps
- KVM ONE_REG: ioctl() interface to discover and manage extensions for each Guest VCPU
- Track discovery of extensions mentioned in RVA23 profile
- Extension discovery is through:
- Benefits toolchain and distros
- Next finalize 1H2024 priorities
- Also create wiki pages for 1H2024 projects
Project pages inflight for the next 6 months have been identified.
Andrei- Requested requirements for extension discovery
Anup- Discovery of minimum and maximum vector lenses is also in progress, working on project list for 2024
Firmware WG- Sunil V L
- Wiki pages for 2H2023 projects available on confluence
- Summary page: https://lf-rise.atlassian.net/wiki/display/HOME/2023-2H+-+Firmware+Priorities
- Project page will be maintained by owner/contact
- Updates “Status” of project page will reflect on summary page
- Other updates
- StandaloneMMPkg - discussed the detailed plan
- Ad-hoc meetings apart from monthly WG meeting.
- Next
- Finalize 1H2024 projects
- Create wiki pages
Distro Integration WG- Brian Harrington
- Andrei AI: GRUB2 “relocation overflow” bug
- Projects that cut across multiple workflows
Andrei: Identify bottom up projects
Brian: Interested in converting space on MassOpenCloud to usable resources for RISE, waiting on direction
Debug and Profiling WG- Fei Wu (not in attendance)
- I sent an email to mailing list to discuss the projects and meetings, I hope we can schedule a meeting next week. The risk is that no one replied yet.
- I added two projects which I am working on to confluence for H2 2023:
Andrei: much more detail is needed
Compiler/Toolchain WG- Jeff Law
- Confluence wrangling, not done, but good progress
- 2H2023 wiki bits in place & some initial bits of 1H2024
- Binutils-2.41 release being prepared, branch in ~2wks
- Zicond, Zfa, Zc* looking to land which would unblock some GCC work
- Fusion – GCC & LLVM. Generic infrastructure + Veyron V1 implementation
- Address rewriting for GCC, two steps forward, one step back
- Shadow Stacks – LLVM mtg next, hoping to have more state then
- Will also be syncing with Philip and Andrew on Rivos’s plans in the LLVM space and get that reflected into the sheet & wiki
- Some movement on binary releases, Simon pushing on this
Andrei: Bolt? Where does it belong, who’s doing work in this space? Please add to the spreadsheet.
Jeff: What is the value vs. effort for Bolt?
Randal: Google has interest in terms of the boarder ecosystem, this could fit with the distro and integration group?
AIs from last week
This doesn’t include WG-specific AIs, just the ones that have a global effect.
- WG updates (slide vs wiki)
- The default slide deck for each WG can contain the wiki link for the WG. If the lead thinks that the update in the wiki is too dense to cover in the call then the lead can provide a summary in the slide.
- RVI spec dependencies
- Vector calling convention for psABI
- Unified Discovery
- Is BT from {AArch64/AArch32} to RISC-V (gaming/mobile) a RISE target?
- Establish WG lead terms and election process
- Reaching a conclusion on board farms
- Reaching a conclusion on build farms
AIs for next week
This doesn’t include WG-specific AIs, just the ones that have a global effect.
- WGs to create write ups for their projects
- 2023
- 2024
- About
- Scope and timeline
- components and repos
- Stakeholders and partners
- Dependencies
- Measures of success
- RISE Requirements
- Status with table
WG Lead Election process and Terms
Prepare for GB meeting
- Roll ups required, Leads will be contacted directly.
15 Jun 2023
Attendees:
- Andrei Warkentin, (Intel)
- Jeff Law (Ventana)
- Brian Harrington, (RedHat)
- Andrew De Los Reyes, (Rivos)
- Uli Drepper, (RedHat)
- MyungJoo Ham, (Samsung)
- Daniel Barboza (Ventana)
- Paul Walmsley, (SiFive)
- Tim Ouyang, (Andes)
- Randall Bosetti, (Google)
- Barna Ibrahim, (Rivos)
- Simon Wang, (Andes)
- Trilok Soni, (Qualcomm)
- Kumar Sankaran, (Ventana)
- Michelle Martineau, (Linux Foundation)
Agenda
RVI Summit
- Good visibility (RVI and Google keynotes).
- Overall positive reception.
- A lot of questions on operation, interactions with upstream projects.
- HW/embedded-minded folks questioned Linux focus.
Randall:
- Excited to see SBCs with RVV 1.0
Kumar:
- Questions around participation with Chinese organizations.
- BT from AArch64/AArch32 to RISC-V, gaming/ mobile, is this a RISE target? (discuss on mailing list)
- Open Suse wants to be a part of RISE
Board Updates
- RISE Confluence will be read-only to general public (mailing lists remain private, as is Zoom meeting participation).
- TSC update to the Board is 6/29
- Well-defined proposed projects (clear definition of work, timelines, components/repositories, stakeholders, RISE requirements, dependencies, measure of success).
- No gaps in Confluence, this is viewed as the single source of truth. No entries = no progress
- Work on MoU between RVI and RISE continues.
- Board requests TSC to provide feedback on RVI spec dependencies as part of prioritization (e.g. psABI for RVV).
- AI for next week’s TSC.
- To be reported 6/29 to the the board.
TSC Notes
- TSC operation
- Email primary mechanism of discussion and communication.
- Meetings used to summarize and confirm decisions.
- Decisions tracked in Wiki
- Embrace the Wiki.
- Deprecate the old Google Docs. Use Spreadsheet to report new project ideas, with these suggestions:
- 1 sheet per tracking period (2H23, 1H24…), not 1 per upstream project/component.
- “Merged” as additional status.
- “Target release” date as additional column.
- WG leads
- 1 year with a 1 month overlap in leadership to allow for transition.
- Don’t assume WG members to be proactive, nudge folks along, stick to mailing list for discussions.
- Work with Michelle to figure out how to run the WG best
- WG lead term length, what is appropriate?
Working Group Updates
- System Libraries-Nathan Egge
- https://lf-rise.atlassian.net/wiki/display/HOME/System+Libraries+WG
- WG meeting not yet scheduled
- Spreadsheet tracking items added with timelines and tickets
- Dedicated wiki page for each project: pending
- Simulator / Emulator-Daniel Barbosa
- First WG meeting happened in 7 Jun 2023
- New projects added:
- Dedicated wiki page for each project: pending
- Language Runtimes-Ludovic Henry
- Work in progress at https://github.com/openjdk/jdk/pull/14445
- Buy-in from other OpenJDK contributors (Huawei, RedHat)
- [Java] LR_00_025: Support for hardware feature detection
- Kernel Virtualization-Anup Patel
- Kernel
- Basic ACPI support
- Vector extension support
- KVM
- Vector extension virtualization
- AIA irqchip
- First WG meeting held on 1st June 2023.
- 1H24 priorities will be discussed within the WG
- Things being merged for upcoming Linux-6.5 merge window
- Overall, a good progress with great participation from members.
- Firmware-Sunil V L
- First WG meeting held on 06/07/2023.
- High level review of tasks with WG members.
- Ad-hoc meeting to discuss individual project details.
- Overall, a good progress with great participation from members
- Dependencies between firmware and compiler for stack unwinding/tracing
- Distro Integration-Brian Harrington
- Fedora has 24k+ individual packages available for RISC-V, including KDE (thanks David Abdurachmanov!). This includes tooling needed for downstream FLOSS development1
- Higher level system concerns which may be currently lacking a ratified home (e.g. “ELF ownership”, “fat/multi-arch binaries”, etc)
- External concerns which could be brought by RISE members as an official request for distro support (e.g. “Can Red Hat provide maintained provisioning resources (i.e. Kickstart files) allowing users to test known working configurations”. This might look like installing a multi-component FLOSS application as a pseudo “integration test”
- What are individual preferences on meeting times for this working group?
(we really need to get this scheduled) - As discussed last time, much of the work previously called out will be done directly by distros independently of RISE. As I receive updates on this work I will update the project wiki.
- Two new sets of concerns posted to the mailing list:
- Debug and Profiling-Fei Wu
- binary instrumentation tools: valgrind, DynamoRIO
- full-featured tracer: ebpf based tools
- profiling: perf, gprof-ng
- application debugger: gdb, lldb
- memory debugging: address sanitizer
- toolchain: riscv-gnu-toolchain, binutils, ILP32 psABI, drawf for RVV
- hardware related: openlink
- real hardware performance study: PMUs on real riscv boards, LKP testsuite for measuring performance
- Spreadsheet for the projects - RISE Debug and Profiling Projects
- Projects collected
- Details of priority & plan are still under discussion
- Compilers and Toolchains-Jeff Law
I need to catch up on more process stuff (ex confluence). But a few updates..
- Autovectorization work is ongoing
- Not a blocker yet, but really need clarity well in advance of LLVM 17 release (mid fall)
- Ventana’s internal evaluation of LLVM indicates it’s definitely improving relative to LLVM 16
- Basic integer working on GCC trunk. Focus shifting towards floating point
- Concerns about getting psabi clarity on passing/returning vectors
- Shadow Stacks (LLVM)
- Blocker for Android adoption, so clearly important
- ABI concerns here too. Right now ABI forces x3 to be the global data pointer. Needs to turn into an OS defined register
- Not sure time schedule. Google engineers probably have the most state
- Address arithmetic (GCC)
- VRULL’s work 99% ready. Working to address upstream review items
- Late address rewriting can significantly help mcf/deepsjeng
- Additional opportunities exist in deepsjeng
Action Items:
- Establish WG lead terms and election process (Michelle)
- TSC update to the Board is DUE 6/29 (WG Leads)
- What's the project?
- How much does it cost in terms of people or payment?
- How long is it going to take?
- System Libraries to schedule WG meetings (Nathan Egge)
- Inform Sunil - Dependencies between firmware and compiler for stack unwinding/tracing
- 90% of confluence work completed by 6/22
- Simulator Emulator WG to create project Wiki pages (Daniel Barbosa)
- Kernel and Virtualization WG to add more detail to Wiki and updates (Anup Patel)
- Firmware WG to add more detail to Wiki and updates (Sunil V L)
- Compiler Toolchain to update Wiki (Jeff Law)
Topics for Next Meeting:
- Board farms? Coordinate existing funding an/or use RISE funds?
- Build farms? Can we optimize how RISE members fund these.
- Open Source Lab at Oregon State University (OSU-OSL) - Nate and Barna to follow up.
01 Jun 2023
Attendees:
- Andrei Warkentin, (Intel)
- Jeff Law (Ventana)
- Brian Harrington, (RedHat)
- Felix Freimann, (Mediatek)
- Andrew De Los Reyes, (Rivos)
- Uli Drepper, (RedHat)
- Nathan Egg (Google)
- Ludovic Henry, (Rivos)
- MyungJoo Ham, (Samsung)
- Amit Pabalkar, (NVIDIA)
- Trilok Soni, (Qualcomm)
- Simon Wang, (Andes)
- Kumar Sankaran, (Ventana)
- Daniel Barboza (Ventana)
- Robin Randhawa (SiFive)
- Tim Ouyang, (Andes)
- Randall Bosetti, (Google)
- Michelle Martineau, (Linux Foundation)
Agenda:
- Launch- Michelle Martineau
- Provided a recap of the RISE media outreach including articles and interviews from Forbes, TechCrunch, DevOps.com, Heise, Phoronix, Silicon.FR, TFiR, and Toolinux.
- Confluence- Andrei Warkentin
- Upstream projects either have trackers and we would have to use them, aligning with RISE's policy of doing all technical engagements upstream and in a transparent/collaborative manner.
- Upstream projects (e.g. Linux) don't use trackers and get along just fine (so do really need them?)
- WG leads to come back with any requests for projects that can't make any forward progress unless RISE hosts a bug tracker (it's fair to say these requests, though, are going to get a long hard look...)
- RISE Confluence- Not public at the moment.
- Single shared space for all documentation, used by everyone.
- Explicit state - Allows anyone to understand current progress, issues, without digging through emails, Google drive, presentations, etc.
- Simplifies onboarding.
- Some key links:
- Think ahead to 2024 to ensure we can request funding an budget allocation from the board.
- Questions were raised around project/bug trackers
- WG Updates (incl. homework from last meeting)
- Clear definition of work being done
- Timelines
- Components, repositories, stakeholders
- Measure of success
- Requirements from RISE (if any)
- Project documentation (in Confluence)
- ffmpeg: SiFive - RVV 8x8 chroma MC patches to libavcodec/h264 [3]
- Projects can be in one of 3 states:
- Cannot compile as RISC-V, under any flags
- Compilable native code, but missing optimizations
- RISC-V optimizations, but which targets: V, Zb*, etc?
- How do we measure success? Is comparing to SIMD on x86/Arm possible?
- Moving project status from Google Sheet to Confluence Wiki [4]
- New items to track: upstream CI, access to HW, RISC-V specific unit tests
- Behind password: How do we coordinate with broader OSS community?
- Request for QEMU image + testing methodology -> CI through emulation
- Recent progress on RISC-V:
- bionic: SiFive - RVV mem*/str* patches [1]
- libpng: Google - RVV decode patches based on NEON intrinsics [2]
- Notes:
- Continue identifying projects to choose and scope out projects
- System Libraries WG - Nathan Egge
- Simulator - Daniel Barbosa
- No relevant updates from last week
- Still waiting for answers/clarifications about duplicated projects, projects with generic descriptions, Spike projects without contacts
- Language Runtime - Ludovic Henry
- OpenJDK (backports to jdk11u, jdk17u)
- Java libraries
- Should JDK compiler be under compiler/toolchain?
- CPython
- Python libraries and dependencies
- Go Runtime
- Question (JL) should this be under compiler/toolchain?
- More details on projects in tracker spreadsheet
- Scheduling bi-weekly sync, next on June 7th
- Kernel Virtualization - Anup Patel
- Monthly meeting on the last Monday of every month at 7:00AM PST
- First meeting on 1st June 2023 at 7:00AM PST
- Review tracker google sheet in-progress
- Firmware - Sunil V L
- Ecosystem news:
- Distro - Brian Harrington
- “Top 10” issues from Red Hat?
- Reach out to other distros?
- Ownership of “complex” projects affecting multiple WGs, like multiple profile/extension support (eg. https://lf-rise.atlassian.net/display/HOME/Profile-+and+Extension-+Optimized+Distros)
- Final position: no objection to refocusing
- Ventana: Focus should be on standards conforming implementations. Need clear value for RISE, a clear technical proposal and staffing/funding to make it happen otherwise.
- Intel: Aside from the actual work to wire up non-standard RVV, most work appears to be in an OS distro even being able to have several side-by-side implementations of something. The latter appears interesting to RISE.
- Rivos position: We prefer that RISE focus on standards that benefit many or most companies. Each hardware vendor may have non standard instructions that should coexist, but joint efforts in RISE should apply to many companies.
- RISE positions on 0.7 (incompatible) vector extension
- Final position: don't focus on Legacy RVV
- Would this solve the problem?
- What could be better?
- Should Intel make this public or should this be a RISE project?
- Intel SDAK has been an internal project with a very similar goal. Please check out the slide deck PDF and demo video and provide feedback to Andrei:
- Distro WG refocus: Addressing issues common to all distros.
- Legacy RVV
- “Getting started OS image” to unblock patch testing for upstream projects, vector work (e.g. bundle qemu + OS)
- Debug / Profiling - Nathan Egge / Jeff Law
- Propose Fei Wu (Intel) as interim WG lead for Debug and Profiling WG
- Fei is currently working on RVV support in Valgrind and Qemu and has experience in perf and Linux kernel.
- Compiler / Toolchain WG - Jeff Law
- Supplies a common baseline of gcc-13 + risc-v autovect and other optimization support
- Should RISE make binary releases available?
- Proposed that RISE provide when the upstream doesn't
- Single binary distro rather than having multiple ones from different vendors
- Known build procedure and sources (ie, specific upstream branches/commits)
- What to include (just the compiler, what about assembler, libraries, etc)
- Platforms to support (Centos? Ubuntu? Windows? MacOS? Specific versions?)
- Who would do this?
- Incompatible with 1.0 Vector in important ways
- Exceedingly painful to support both in GCC
- Not seen as strategic across the ecosystem
- Upstream GCC coordination branch created and relevant patches cherry-picked from the trunk
- 0.7 Vector Support
- Stack clash or shadow stacks may be next priority for LLVM (victim?)
- May promote address reassoc as next priority for GCC (99% done)
Action Items:
Working Groups flesh out definitions and prioritization
- scoping
- Milestones
- Requirements
- Measures of success
Binaries
- Set up confluence page for conversations
- Andrei suggestion: keep to Linux to start with, provide tgz with "unknown" (newlib) and "linux" targets. Link against an older libc for max compatibility.
- Logistics - infrastructure / where to host downloads / where to host build farms
- Technical details
Coordinate with broader OSS community without busywork
- Get board / TSC chair take/approval on making mailing lists and confluence RO for public.
Topics for Next Meeting:
- WG updates (incl 2H23 Priorities Update (06/29/2023) with specific project details)
- Single qemu + OS image for testing
- Binary releases of compiler (but really anything else like Qemu)
- Whole distro optimization
25 May 2023
Attendees:
- Andrei Warkentin, Intel
- Paul Walmsley (SiFive)
- Jeff Law (Ventana)
- Brian Harrington, RedHat
- Felix Freimann, Mediatek
- Aaron Dubin (Rivos)
- Nathan Egg (Google)
- MyungJoo Ham (Samsung)
- Simon Harvey (Imagination)
- Raul Xiong T-Head
- Anup Patel (Ventana)
- Sunil V L (Ventana)
- Chris Smith (Imagination)
- Daniel Barboza (Ventana)
- Robin Randhawa (SiFive)
- Tim Ouyang, (Andes)
- John Walicki, Linux Foundation
Agenda:
- PM Updates (John Walicki)
- Confluence setup complete - not yet populated
- Mailing lists and GDrive are established
- LF Antitrust Policy reminder
- Subgroup Updates
- One homework for next week is to go over the “Distro Integration” proposal to refocus the group on addressing issues common to all distros instead of focusing on specific distro enablement, simply because the latter is not actionable unless you’re an OSV (and we haven’t been thinking about funding OSVs to invest more, plus we only have one OSV on board). See https://lists.riseproject.dev/g/RISE-Distro-Integration-WG/topic/distro_integration_wg/99118959?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,99118959,previd%3D1684965620222749443,nextid%3D1684965620222749443&previd=1684965620222749443&nextid=1684965620222749443
- Another homework for next week is to come up with a position on existing incompatible RVV implementations – should we bother, how to support these, etc.
- We agreed Debug & Profiling needs a dedicated lead. Nominations will be discussed at the next call.
- Toolchain discussions brought up backporting of RVV support to GCC13 due to GCC14 not being released until 2024. We discussed if we should deliver a binary toolchain – this would be nice but it needs a level of commitment/investment that we’re not ready to consider. There is an upstream source branch for this work, so we don’t need to make any RISE-specific source releases, just point the public and the right code (and give coherent instructions). Additionally, we could point folks to binary toolchain releases that RISE member companies make in the interim.
- Toolchain discussions also brought up a lack of “easy to consume” turnkey solutions for validating code, that upstream code maintainers or even developers could use. This could be something like qemu + an OS distro packaged up.
- System Libraries WG - Nathan Egge
- Simulator - Daniel Barbosa
- Language Runtime - Three Java libs prioritized
- Kernel Virtualization - Anup Patel
- Firmware - Sunil V L
- Distro - Brian Harrington
- Debug / Profiling - Nathan Egge / Jeff Law
- Compiler / Toolchain WG - Jeff Law
- What next?
- Continue identifying more projects
- Start scoping out plan / requirements / timelines for currently picked projects
- We discussed how projects would be tracked. It’s fair to say many of the projects are projects where RISE contributes to and not leads the work, but some projects are net new contributions and thus will need thorough well-reported planning. Regardless, it should be easy for any RISE member to understand the progress, roadblocks, etc. This will be done using Confluence.
- “Ways of working”
- Didn't get here
18 May 2023
Slides are at [RISE] TSC Meeting Agenda 05/18/2023
Attendees:
- Felix Freimann, Mediatek
- Tim Ouyang, Andes
- Andrei Warkentin, Intel
- Mason Li, Mediatek
- Kumar Sankaran, Ventana
- Barna Ibrahim, Rivos
- Paul Walmsey, Sfive
- Amber Huffman, Google
- Trilokkumar Soni, Qualcomm
- Nathan Egge, Google
- Amit Pabalkar, NVIDIA
- Brian Harrington, RedHat
- Michelle Martineau, Linux Foundation
Agenda:
- PM Update from Michelle
- Confluence pending setup
- Mailing lists and GDrive are established
- Subgroup Updates
- Need to add group leads to meeting
- What next?
- 2-3 quick wins projects that are mostly complete or in progress
- Need some topics for Lars to discuss
- “Ways of working”
- Didn't get to this
11 May 2023
Attendees:
- Felix Freimann, Mediatek
- Tim Ouyang, Andes
- Andrei Warkentin, Intel
- Simon Harvey, imagination
- Uli Drepper, RedHat
- Mason Li, Mediatek
- MyungJoo Ham, Samsung
- Kumar Sankaran, Ventana
- Jeff Law, Ventana
- Chris Smith, Imagination
- Barna Ibrahim, Rivos
- Paul Walmsey, Sfive
- Amber Huffman, Google
- Trilokkumar Soni, Qualcomm
- Nathan Egge, Google
- Amit Pabalkar, NVIDIA
- Brian Harrington, RedHat
- Michelle Martineau, Linux Foundation
Notes:
- Meeting times: fill out Meeting Availability
- 2:00pm PT and 7:00am PT alternating
- Please be sure to inform Michelle of Alternates
- Need to pick group leads
- , see note at Group Lead Note
- What is the time commitment?
- Lead term length?
- Begin work on areas where leads have been identified
- Group Leads Next Steps
- Lists/reflectors- Michelle to create groups.io for each subgroup
- TSC subfolder in Gdrive
- Select the high priority items to focus on initially while keeping dependencies front of mind (dependencies are identified by leads)
- Pick a way of organizing your group, communicate this to TSC chairs (by 5/18).
- 1st pass (de-dup, order by priority) (5/18)
- 2nd pass (project depth, i.e. well-identified project tasks, not “make Debian better”).
- Collaboration tools
- Establish Confluence, purchase AWS hosting
- Proposal-RISE SW Contribution Report
- Focus only on the projects RISE invests in and the community contributes to
- More depth, value to the public, promotion of RISE
- Current: https://sites.google.com/riscv.org/software-ecosystem-statusction.