dse-loop

Run autonomous design space exploration loops with parsed objective metrics and parameter selection.

1|Updated May 14, 2026
One-click install
npx skills add https://github.com/lix965996-art/MMM --skill dse-loop-lix965996-art
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dse-loop
Source: https://github.com/lix965996-art/MMM/tree/main/resources/app/skills/dse-loop
Command: npx skills add https://github.com/lix965996-art/MMM --skill dse-loop-lix965996-art

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of manually and inefficiently tuning many parameters to optimize a target metric by running repeated experiments, extracting results, and iteratively selecting better configurations.

Core Features & Use Cases

  • Autonomous run → analyze → tune loop: Executes the target program for multiple design points, parses an objective metric, and chooses the next parameter set until success criteria or limits are reached.
  • Inference and range management: Infers missing parameter ranges by reading the codebase and applies domain heuristics, then expands boundaries when the best result lands at an edge.
  • Structured logging and reporting: Creates a repeatable dse_results/ workspace with CSV logs, per-run outputs, recovery state, and a final markdown report; also supports plotting when available.

Use Case: You want to optimize a gem5/EDA/synthesis flow by tuning cache sizes, pipeline width, or synthesis passes to maximize IPC or minimize area×delay under a fixed timeout.

Quick Start

Run the design space exploration loop with your task, including the program to execute, the parameters to tune (or let it infer ranges), the objective metric and direction, and a timeout like 2h.

Frequently Asked Questions about dse-loop

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

FAQPage Schema
How do I automate parameter tuning for architecture simulation sweeps?

Automate architecture simulation parameter tuning by running an autonomous optimization loop that repeatedly executes the target program, parses objective metrics from outputs, and iteratively selects improved configurations until success criteria or iteration limits are reached.

Can I infer parameter ranges for EDA optimization without manually defining boundaries?

Infer parameter ranges for EDA optimization by inspecting the codebase; the loop applies domain heuristics to missing ranges and automatically expands boundaries when the best result lands at an edge, reducing manual setup overhead.

What's the best way to log experiment results during design space exploration?

Log design space exploration results by creating a structured dse_results workspace containing CSV logs, per-run outputs, recovery state, and a final markdown report, with optional plotting support when available.

How do I set timeout and iteration limits for synthesis parameter search?

Set timeout and iteration limits for synthesis parameter search by specifying a wall-clock timeout, such as two hours, and iteration caps before starting the loop, ensuring the optimization process respects fixed time and compute budgets.

Does the optimization loop prevent redundant evaluations when tuning cache sizes or pipeline width?

The optimization loop enforces non-redundant evaluations when tuning parameters like cache sizes or pipeline width, ensuring each configuration is tested only once and all results are logged for traceability and recovery.

Can I recover an interrupted design space exploration run from a previous state?

Recover an interrupted design space exploration run using the saved recovery state in the dse_results workspace, which logs all evaluated configurations and allows the optimization loop to resume without losing prior progress.