dse-loop

Automates iterative design space exploration for computer architecture and EDA parameter tuning.

Updated Jul 9, 2026
One-click install
npx skills add https://github.com/Lingjie-wang/autoRL --skill dse-loop-lingjie-wang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dse-loop
Source: https://github.com/Lingjie-wang/autoRL/tree/main/Auto-claude-code-research-in-sleep/skills/dse-loop
Command: npx skills add https://github.com/Lingjie-wang/autoRL --skill dse-loop-lingjie-wang

SYSTEM DOCUMENTATION & REQUIREMENTS

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 loop that executes your program, parses the objective metric, picks the next parameter set, and iterates until the objective is met, patience runs out, or the timeout is reached. ## Core Features & Use Cases - Autonomous run-analyze-tune loop: Executes the target program, extracts the objective metric with a parsing script, logs every design point to CSV, and selects the next configuration using grid search, coordinate descent, or binary search. - Parameter range inference: When ranges are not provided, it reads the source code (argparse definitions, config files, SystemVerilog parameters) and infers sensible ranges using domain heuristics, logging them for review. - State recovery and reporting: Maintains DSE_STATE.json and dse_log.csv for crash recovery, and produces a final DSE_REPORT.md with best configuration, sensitivity analysis, and stopping reason. - 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 at timing closure. ## Quick Start Ask the agent to run a DSE loop on your program, naming the parameters to tune, the objective metric to minimize or maximize, and a wall-clock timeout.

Frequently Asked Questions about dse-loop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run an automated design space exploration sweep?

Invoke the skill with a task description naming the program to run, the parameters to tune, the objective metric, and a timeout. The loop runs the program, parses the metric, picks the next configuration, and repeats until the objective is met or the budget expires.

What if I don't know the valid ranges for my parameters?

The skill infers ranges by reading your source code for argparse definitions, config files, and hardware parameters, then applies domain heuristics such as powers of two for cache sizes. Inferred ranges are written to dse_results/inferred_params.md for your review.

Which tools and simulators does this DSE approach support?

It works with any program runnable from the command line, including gem5, yosys, Verilator, OpenROAD, Cacti, Ramulator, and gcc/llvm builds. You only need to specify how to run it and how the objective metric appears in the output.

Can the exploration resume after an interruption or context loss?

Yes. State is persisted in DSE_STATE.json and dse_log.csv after every iteration, so the loop can reload the current iteration, best parameters, and patience counter and resume from where it stopped.

When does the parameter search stop early?

The loop stops when the timeout is reached, the iteration cap is hit, no improvement occurs for the configured patience count, or the success criteria are met. Constraint-violating points are never counted as improvements.