Skip to main content

RISC-V Summit Europe 2025 · Paris, France - 12-15 May · Register Now

Create a Workload Analysis Flow Using RISC-V Olympia Performance Model (RISC-V Mentorship)

  • Internship
  • Remote

Performance research/design of RISC-V CPU designs require workloads for analysis. Workloads can be custom user applications or industry benchmarks such as SPEC, GeekBench, Dhrystone, etc. Using tools like the RVI Olympia Perf CPU Model users can pinpoint bottlenecks in CPU design, the workload, or the compilers/libraries.
When the workload is small, running the workload on Olympia is not complex: trace the workload using a functional model and run that trace through Olympia; count cycles. However, if the workload is large, tracing the entire workload is not practical. Workload reduction tools, such as SimPoint, help narrow down the points of interest (POI) as well as reduce the instruction length to calculate estimated performance.

The flow using SimPoint: Workload -> SimPoint analysis (using tools like QEMU) -> workload fragments -> trace generation. Each trace can be run in parallel on Olympia to gather the point performance. Post-processing tools will collate the fragments and generate an overall estimate of performance.

This internship will:

  • Establish workloads (research)
  • Establish a SimPoint flow to reduce the workloads (QEMU or other instruction set simulators)
  • Generate STF traces using SimPoint data (QEMU or other instruction set simulators)
  • Create a repository of traces and their metadata, such as compiler info
  • Tools to run traces on Olympia and generate perf data (python, C++)
  • Tools to coalesce the performance data for final score calculation (python)

Repository URL: https://github.com/riscv-software-src/riscv-perf-model

Learning Objectives:

  • Collaborate with SIG members to fully scope out the project
  • Develop an understanding of Olympia model and how to build and use
  • Research and learn about various workload reduction techniques
  • Develop the workload reduction, modeling and analysis flow
  • Respond and address multiple iterations of reviewer feedbacks
  • Document the developed flow
  • Present and discuss work during SIG meetings

Coding Challenge:

https://docs.google.com/document/d/1fmAHKFYYTNj1Hv7vsGwbgF9mlJ-89jlpnEkPk3AeIBI/edit?usp=sharing

To apply for this job please visit mentorship.lfx.linuxfoundation.org.