What problem does it solve?
Manually sweeping hardware or toolchain parameters to find an optimal configuration is slow, error-prone, and hard to track. This Skill runs an autonomous run-analyze-tune loop that explores a design space until an objective is met, a timeout is reached, or improvements stall.
Core Features & Use Cases
- Autonomous DSE Loop: Runs a program, parses the objective metric, picks the next parameter set, and iterates with timeout, max-iteration, and patience stopping conditions.
- Parameter Range Inference: Reads source code (argparse definitions, config files, SystemVerilog parameters, Makefiles) to infer sensible ranges when the user only names the knobs to tune.
- Full Logging and Recovery: Records every run in dse_log.csv, tracks state in DSE_STATE.json for mid-run recovery, and produces a final DSE_REPORT.md with sensitivity analysis and convergence plots.
- Use Case: Tune gem5 cache size, associativity, and ROB entries to maximize IPC over a 3-hour budget, or sweep yosys synthesis options to minimize area while meeting timing closure.
Quick Start
Ask the agent to run a design space exploration on your simulation or synthesis command, naming the parameters to tune, the objective metric to optimize, and a wall-clock timeout.