Skip to content

Added QEMU BBVs workflow and SimPoint analysis under traces #266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

aditi75432
Copy link
Collaborator

Summary

This PR introduces a containerized, unified workflow for running various benchmarks on QEMU and performing SimPoint-based phase analysis. It provides a complete, plug-and-play setup to generate Basic Block Vectors (BBVs) and identify representative simulation points using clustering techniques.

What's Included

Multi-workload Support

  • dhrystone (SiFive clone)
  • embench (IoT benchmark suite)
  • Custom workloads via user path input

Core Features

  • QEMU plugin-based BBV generation
  • SimPoint clustering for program phase detection
  • Configurable compiler flags, intervals, architectures

Containerized Build

  • Fully Dockerized environment
  • Cross-platform compatibility (Linux, macOS, Windows via WSL2)

Modular Scripts

  • build_and_run.sh: End-to-end execution
  • run_workload.sh: Manual run configuration
  • setup_workload.sh: Benchmark setup
  • build_docker.sh: Docker image creation

Results Structure

  • BBV files, SimPoint clusters, and weight vectors saved in simpoint_output/

Configurable Workload Settings

  • Central workload_config.json for parameter tuning

Developer Experience Enhancements

  • VS Code Remote Development setup
  • Integrated WSL and container support
  • Easy debugging and performance tuning
  • Example batch analysis and advanced usage patterns

Documentation

A detailed README.md is included, covering:

  • Setup for Windows/macOS/Linux
  • Usage examples
  • Troubleshooting and verification
  • Contribution instructions
  • Configuration options

Use Case

This contribution is intended for developers and researchers needing:

  • QEMU-based simulation
  • SimPoint-driven workload sampling
  • Benchmarking and architecture exploration
  • Integration-ready tools in a clean, reproducible environment

Contributor

Contributed by Aditi Mehta to enhance the benchmark tooling ecosystem with a robust and modular SimPoint analysis pipeline.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant