Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 2.69 KB

20241122.md

File metadata and controls

59 lines (43 loc) · 2.69 KB

RISE RP005 QEMU interim report 2024-11-22

We have had no meeting this week, due to vacations and travel. This is a report on progress at the end of the week.

Milestone 2

Make requested revisions to Paolo's upstream patches:

  • REOPENED.
  • the first patch had been awaiting merge. However, Max has posted his concern about exceptions during the load/store leading to an invalid value in the vstart CSR (see this mailing list post). This is under investigation.
  • on the second patch, Richard Henderson has clarified that atomicity is a concern because we must not accept an interrupt in the middle of storing an element, which could happy with memcpy because of it being byte oriented (see this mailing list post). We may have a solution, which we are exploring. This will be a new patch, because the existing patch is now incompatible with upstream.

SiFive benchmarks:

  • COMPLETE
  • LMUL is fixed to the value in the benchmark
  • benchmarks are timed using QEMU built with plugins disabled.
  • results are shown as times for one million iterations

Milestone 3

Generate TCG Ops for vector load/store

  • IN PROGRESS.

Improve first-fault handling for vector load/store helper functions.

  • IN PROGRESS.

Improve strided load/store helper functions.

  • IN PROGRESS.

Statistics

SiFive benchmarks

See report-2024-11-22-20-00-58.pdf. Commits in branches of the rise-rvv-tcg-qemu repository:

Embecosm patch #1 v. master.

  • no significant impact: memchr, strcat, strchr, strcmp, strcpy, strlen
  • improvement for small data: memcmp, memcpy, memmove, memset
  • improvement for large data: strncat, strncmp, strncpy, strnlen
  • improvement for all data: None

Actions

2024-11-13:

  • Paolo Savini to investigate whether patch #1 may cause exceptions to be taken at the wrong byte address, thereby causing a failure on resumption.
    • IN PROGRESS
    • under investigation as described above.
  • Paolo Savini to investigate whether patch #2 can use larger memcpy than Max and therefore may offer further improvements.
    • IN PROGRESS
    • potential solution identified - see above.
  • Jeremy Bennett to redo the SiFive benchmark scripts without any plugins enabled and to report just total execution time when comparing.
    • COMPLETE

Other

Next meeting 27 November 2024.