
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.