What problem does it solve?
It solves the problem of finding near-optimal configurations in a large design or parameter space by repeatedly running a program, extracting a metric, and iteratively tuning inputs until the objective is met or time runs out.
Core Features & Use Cases
- Autonomous run → analyze → iterate loop: Executes the target workload, parses results into an objective value, selects the next parameters, and repeats.
- Parameter range inference: If ranges are missing, it reads the codebase to infer valid parameter types and sensible sweep values, then logs the inferred space for review.
- Robust bookkeeping & stopping rules: Creates a full run directory with CSV logs, outputs, state recovery JSON, and a final markdown report with convergence and recommendations.
- Use Case: When you need to tune gem5, Yosys/DC scripts, RTL simulations, OpenROAD/Innovus flows, or formal verification parameters to optimize a measurable metric under constraints.
Quick Start
Use the dse-loop skill to run your simulator or build command, tune the specified parameters toward your objective metric, and stop automatically when the target is reached or the timeout expires.