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:
  • Projects under review:
    • SE_01_003 - QEMU WorldGuard support
      • Latest version: v1
    • SE_01_004 - QEMU IOPMP support
      • Latest version:  v7
    • SE_01_005 - QEMU PCIe passthru on x86 hosts
      • Latest version:  v1
      • Project has dependencies on UBOOT and GRUB
    • SE_01_015 - QEMU RISC-V IOMMU support
      • Latest version: v4
  • Projects under review
    • SE_01_017 - QEMU ACPI SPCR support for RISC-V
      • Latest version: v2
      • Community project (Starfive)
    • SE_01_021 - QEMU RVA23 profile support
      • List of missing extensions: sig-qemu message
      • Some of them already landed for review
    • SE_01_022 - RISC-V Server SoC Reference Board
      • Latest version: v2
    • SE_02_004 - QEMU RVV performance enhancements
      • Latest version (from Max Chou): RFCv4
  • Projects already merged
    • 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

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.  
    • “Why is it you’re all insistent on having ACPI support?”
    • “What is the minimum amount of RAM a board should have?”
      1. General discussions and questions about viability of builds with low RAM that aren’t capable of updating packages etc. Not something RISE should dictate. 
      2. 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.  
  • 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

 

 

 

  • 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 

Python

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

  • 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

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.

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

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


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://wiki.riseproject.dev/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,

  1. Implement specialized RISC-V DSP routines for the identified functions in H.264 DSP functions
    1. Using hardware feature detection so specialized functions are enabled at runtime
    2. Only ratified extensions to RISC-V can be used, for example V + Zb{a,b,c,s}
    3. Implementations should work on vector lengths 128b and greater
  2. Develop a test harness to verify correctness against the pure C implementation
    1. Randomized input verified against C for each specialized DSP function
    2. Update testing infrastructure to run full correctness test harness (2a) in CI
  3. Develop a test harness to measure performance against the pure C implementation
    1. Unit tests to benchmark specialized DSP functions, see https://code.videolan.org/videolan/dav1d/-/merge_requests/1463
    2. Integration tests that measure H.264 decoding speed for set of real-world videos
  4. Produce a performance report based on (3) that compares the pure C to optimized code
    1. DSP function speed-up on RISC-V hardware v C implementation
    2. Table of video sequence decode speeds (in FPS) before and after optimization
    3. Roughly equivalent data on alternate ISAs (for reference only)
  5. Testing shall be done on any conformant RISC-V hardware that contains RVV 1.0 extension, for example:
    1. Kendryte K230 - https://www.canaan.io/product/k230
  6. 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! 


[1] https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/arch-riscv64/dynamic_function_dispatch.cpp#47 

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 

riscv-openocd

Active development under the lead of Tim Newsome

Need inputs

DynamoRIO

instrumentation, binary translation etc.

dynamorio

PLCT lab & SemiHalf: DynamoRIO now has initial support for RISC-V

Extensions other than GC

Valgrind

instrumentation, debugging etc.

valgrind-riscv64

poc-rvv

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
  • 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


  • 2023-2H
    • Updates on projects
    • Status on priorities
    • Overall status


  • 2024-1H
    • Overall status

RVA23 profile extensions: Updates on discovery



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)

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://wiki.riseproject.dev/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

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)

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

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://wiki.riseproject.dev/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

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

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

RP008 Report

GCC SPEC2017 Optimization

Toolchain 

Phase 3: Bidding open

RP007 Report

OpenOCD upstreaming

Debug and Profiling

Phase 4: Bid Review & Award Contract

RP006 Report

LLVM CI Improvements

Dev Infra/

Toolchain

Phase 6: Execution

RP005 Report

TCG Translation for RVV Instructions

Simulators/

Emulators

Phase 5: Signing in progress  Vendor and (LF Signature)

RP004 Report

Rust Tier-1 Support for RV64 Linux

Toolchain

Phase 6: Execution

RP003 Report 

libjpeg-Turbo

System Libraries

Phase 4: Bid Review & Award Contract

RP002 Report

Multimedia Enablement

System Libraries

Phase 6: Execution

RP001 Report 

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


      • 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
    • 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

      • 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
      • 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

      • 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

RP008 Report

GCC SPEC2017 Optimization

Toolchain 

Phase 3: Bidding open

RP007 Report

OpenOCD upstreaming

Debug and Profiling

Phase 3: Bidding open

RP006 Report

LLVM CI Improvements

Dev Infra/

Toolchain

Phase 6: Execution

RP005 Report

TCG Translation for RVV Instructions

Simulators/

Emulators

Phase 4: Signing in progress  Vendor and (LF Signature)

RP004 Report

Rust Tier-1 Support for RV64 Linux

Toolchain

Phase 6: Execution

RP003 Report 

libjpeg-Turbo

System Libraries

Phase 4: Bid Review & Award Contract

RP002 Report

Multimedia Enablement

System Libraries

Phase 6: Execution

RP001 Report 

Accelerate Go Runtimes

Language Runtimes

Phase 6: Execution

Eclipse Temurin 21 and 22 Available on RISC-V

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

RP007 Report

OpenOCD upstreaming

Debug and Profiling

Phase 3: Bidding open

RP006 Report

LLVM CI Improvements

Dev Infra/

Toolchain

Phase 6: Execution

RP005 Report

TCG Translation for RVV Instructions

Simulators/

Emulators

Phase 4: Signing in progress  Vendor and (LF Signature)

RP004 Report

Rust Tier-1 Support for RV64 Linux

Toolchain

Phase 4: Signing in progress  Vendor and (LF Signature)

RP003 Report 

libjpeg-Turbo

System Libraries

Phase 4: Bid Review & Award Contract

RP002 Report

Multimedia Enablement

System Libraries

Phase 6: Execution

RP001 Report 

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

  • 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

RP006 Report

LLVM CI Improvements 

Dev Infra/

Toolchain

Phase 6: Execution

RP005 Report

TCG Translation for RVV Instructions

Simulators/

Emulators

Phase 3: Bid selected, Awaiting vendor info

RP004 Report

Rust Tier-1 Support for RV64 Linux

Toolchain

Phase 4: Signing in progress (LF Signature)

RP003 Report 

libjpeg-Turbo

System Libraries

Phase 4: Bid Review & Award Contract

RP002 Report

Multimedia Enablement

System Libraries

Phase 6: Execution

RP001 Report 

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

RP006 Report

LLVM CI Improvements

Dev Infra/

Toolchain

Phase 6: Execution

RP005 Report

TCG Translation for RVV Instructions

Simulators/

Emulators

Phase 3: Bid selected, Awaiting vendor info

RP004 Report

Rust Tier-1 Support for RV64 Linux

Toolchain

Phase 4: Signing in progress (LF Signature)

RP003 Report 

libjpeg-Turbo

System Libraries

Phase 4: Bid Review & Award Contract

RP002 Report

Multimedia Enablement

System Libraries

Phase 6: Execution

RP001 Report 

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!
  • 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
  • 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
    • 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
  • Improved policies and administration documentation

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!

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
    • 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. 

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

  1. An OP-TEE focus group within the Firmware WG
  2. A public OP-TEE staging repository within RISE
  3. 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

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

  • 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

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
  • 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
  • Does anyone need access who does not already have it?
  • 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.

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 

Meeting Slides

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 

Meeting Slides

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 

riscv-openocd

Active development under the lead of Tim Newsome

Need inputs

DynamoRIO

instrumentation, binary translation etc.

dynamorio

PLCT lab & SemiHalf: DynamoRIO now has initial support for RISC-V

Extensions other than GC

Valgrind

instrumentation, debugging etc.

valgrind-riscv64

poc-rvv

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
  • 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

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 

Meeting Slides

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 

Meeting Slides

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

2H2023 Goals: Go

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 

Meeting Slides

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 

Meeting Slides

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
  • 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 

Meeting Slides

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

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 

Meeting Slides

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

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 

Meeting Slides

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

  • 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 

Meeting Slides

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:

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
  • 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)

 

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)

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
    • 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 
    • 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)
  • Other assorted notes

24 Aug 2023

Meeting Slides 

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?
  • 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
    • 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://wiki.riseproject.dev/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

Meeting Slides 

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

Meeting Slides 

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:
      1. Add support for new extensions and features
      2. 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)
      1. Full system emulation mode
      2. KVM support: shared goal with Kernel and Virtualization WG
      3. 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
      1. QEMU linux-user riscv_hwprobe syscall support
      2. QEMU Virtual IRQ and IRQ filtering support
      3. QEMU PCIe passthru on x86 hosts
      4. QEMU Vector Crypto Support
      5. QEMU ACPI support for AIA
      6. QEMU ACPI support for PLIC
      7. QEMU RVA22U64/S64 profile support
      8. QEMU IOPMP support
      9. 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

Discussion/ Questions:

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 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

  1. Collaboration to avoid duplication of work
  2. 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.

  1. EDK2 (a.k.a Tianocore)
    1. Reference implementation of complete UEFI specification and UEFI PI specification.
    2. Supports all the features like ACPI required by the Server class platforms.
    3. Supports Qemu virtual platform.
  2. OpenSBI
    1. Reference implementation of RISC-V SBI specification.
    2. Dominant M-mode firmware solution today.
  3. TF-M equivalent for RISC-V
    1. 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:

  1. MultiArchUefiPkg
    • Ability to run non-native UEFI drivers.
    • Required for OptionROM.
  2. MMU Support in EDK2
    • Support basic MMU (Sv57 etc) first and then Svpbmt
    • It is a dependency for MultiArchUefiPkg
  3. StandaloneMMPkg in EDK2
    • Long term project to provide secure EFI variable access, secure boot etc.
    • Depends on APTEE/ COVE specs.
  4. CBO extension support in EDK2
    • Support CBO extensions (Zicbo*) in EDK2 for cache management
  5. SSTC Support in EDK2
    • Support SSTC extension for timer implementation in EDK2.
  6. 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.
  7. TF-M secure bootloader for RISC-V
    • Provides a secure boot implementation for RISC-V microcontrollers and other embedded processors.

 

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
    1. Backtrace support
    2. UefiPayloadPkg
    3. StandaloneMMPkg
    4. DynamicTablesPkg
    5. EasyDriversDxe
    6. FdtBusDxe
    7. CompilerIntrinsic Libs
    8. Build Size reduction
    9. 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
  • 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
  • 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

  1. Collaboration to avoid duplication of work
  2. 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://wiki.riseproject.dev/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

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

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)

  • 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)

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

  1. Collaboration to avoid duplication of work
  2. 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
  • 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

Language Runtimes Working Group

  • Feedback for the Build Farm proposal
  • Integration of Android Runtime

Kernel and Virtualization Working Group

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

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:
    • 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)
  • 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
    • 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:
    1. Check that WG spreadsheet
    2. 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

Language Runtimes WG

Kernel and Virtualization WG

Kernel and Virtualization Board Farm Proposal

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

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
  • Wiki pages for extension discovery
    • https://wiki.riseproject.dev/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

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
  • 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
    • [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
  • 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
  • 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)
    • 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?
  • 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
    • 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
    • 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



  • No labels