Sign inSign up

abkgroupucsd/audopeda

By abkgroupucsd

•Updated 8 months ago

Artifact
0

195

abkgroupucsd/audopeda repository overview

⁠Build & Usage

Flow: Download -> Setup -> Run
(There is no "build" step here. You are pulling pre-built artifacts.)

⁠What you get
  • Apptainer/Singularity runtime: openroad_env.sif
  • OpenROAD Flow Scripts: OpenROAD-flow-scripts.tgz -> $HOME/OpenROAD-flow-scripts

Artifacts are stored in Docker Hub as OCI objects and pulled via ORAS.

⁠Prerequisites
  • oras
  • apptainer
  • tar

⁠Step 1) Download (Pull) artifacts

Downloads the SIF image and the flow-scripts tarball from Docker Hub (OCI registry).

oras pull docker.io/abkgroupucsd/audopeda:openroad_env_sif
oras pull docker.io/abkgroupucsd/audopeda:flowscripts_tgz

Expected files:

  • openroad_env.sif
  • OpenROAD-flow-scripts.tgz

⁠Step 2) Setup (Extract & Install) Flow Scripts

Extracts the scripts and places them under $HOME.

tar -xzf OpenROAD-flow-scripts.tgz
mv OpenROAD-flow-scripts "$HOME/OpenROAD-flow-scripts"

Note: You don’t have to place it under $HOME. It can be located anywhere as long as it’s in a path that Apptainer can access.


⁠Step 3) Run (Enter the Apptainer environment)

Starts an interactive shell inside the Apptainer environment.

apptainer shell openroad_env.sif

Note: If you are not running experiments in your home directory, please use the --bind option to mount the desired location instead.


⁠Step 4) Run experiments

Run the experiments from the Flow Scripts directory inside the Apptainer shell.

cd "$HOME/OpenROAD-flow-scripts/flow"

# ECP improvement experiment
./batch_run.sh --for-ecp

# rWL improvement experiment
./batch_run.sh --for-rwl

# Power improvement experiment
./batch_run.sh --for-pwr
⁠Denoising experiment (noise sweep)

For denoising, run one target (--for-ecp or --for-rwl) across multiple clock-noise points, then aggregate.

# Example: rWL denoising
./batch_run.sh --for-rwl -clock_noise -2,-1,0,1,2

# Example: ECP denoising
./batch_run.sh --for-ecp -clock_noise -2,-1,0,1,2

⁠Step 5) Extract metrics and generate summary tables

Run these commands inside the Apptainer shell after the experiments finish.

cd "$HOME/OpenROAD-flow-scripts"

# Parse design result directories under flow/ and extract metrics into a Markdown table
python3 collect_metrics.py

# Generate denoised summary (best/median/worst over noise points)
python3 collect_metrics.py --denoise --denoised-output denoised_metrics.md

# Compare experiments using the generated Markdown metrics file
python3 compare_metrics.py -m "metrics_YYYYMMDD_HHMMSS.md"

# Compare denoised metrics
python3 compare_metrics.py -m "denoised_metrics.md" --all-summaries
⁠Denoised summary meaning

In denoised_metrics.md, runs from each noise sweep (-2/-1/0/1/2 ps) are first ordered by one target metric for the same group.

  • For for-ecp_noise, runs are ordered by Eff_Clock (smaller is better).
  • For for-rwl_noise, runs are ordered by Routed_WL (smaller is better).

After ordering, the script picks:

  • Best: first run
  • Median: middle run
  • Worst: last run

Then all Best/Median/Worst values (Count/Area/Power/Routed_WL/Eff_Clock/Slack) are copied from those selected runs.


⁠What the scripts do

Location: $HOME/OpenROAD-flow-scripts/flow/
(Descriptions below refer to files in this directory.)

⁠batch_run.sh — Batch orchestrator

Runs many design/PDK/noise/selector combinations in parallel using a simple queue-based scheduler.

⁠run.sh — Single-run executor

Executes the full flow (synthesis -> place -> route -> reports) for a single design run.


⁠What the scripts do

Location: $HOME/OpenROAD-flow-scripts/

⁠collect_metrics.py — Metrics collector

Scans OpenROAD run directories (e.g., results*/logs/...) and extracts key metrics from report JSONs, routing JSONs, SDCs, and logs
(area, power, slack, clocks, routed wirelength, etc.).
Writes:

  • metrics_YYYYMMDD_HHMMSS.md
  • denoised_metrics.md (when --denoise is used)
⁠compare_metrics.py — Metrics comparator (Excel)

Reads a metrics_*.md file or denoised_metrics.md and generates Excel comparisons across variants
(e.g., ref vs ecp / rwl / pwr).
Outputs:

  • metrics_comparisons.xlsx

Tag summary

Content type

Unrecognized

Digest

sha256:518dfc96b…

Size

7.3 GB

Last updated

8 months ago

docker pull abkgroupucsd/audopeda:flowscripts_tgz