This directory contains repository-level automation helpers. Experiment execution entrypoints (runner.sh, run-one.sh, plot.py) are kept under experiments/ by design.
Primary one-shot entrypoint for first-time setup and rebuilds. It wraps dependency checks, environment generation, simulator builds, and benchmark builds.
./setup.sh
# or
./setup.sh --rebuildGenerates the .zsim-env file at the repository root. The three memory-simulator paths (DRAMSIM3PATH, RAMULATORPATH, RAMULATOR2PATH) are resolved automatically from the repo. PINPATH and HDF5_HOME are discovered from common system prefixes; if missing, the script attempts to download known-good bundles into dependencies/.
./scripts/setup-env.sh
source .zsim-envThis must be run once before building ZSim or running any experiment. See simulator-source/README.md for dependency details.
Compiles the shared ptr_chase and traffic_gen benchmarks under benchmarks/. This must be run before any experiment can execute.
This script is intended for the Linux environment used in the paper artifact. In particular, ptr_chase depends on linux/perf_event.h.
./scripts/build-benchmarks.shCompares two experiment stages by analyzing their processed/bandwidth_latency.csv outputs side by side. Useful for quantifying the performance delta introduced by each interface correction.
./scripts/compare-results.sh <stage-a> <stage-b>
# Example:
./scripts/compare-results.sh 01-baseline 04-model-correctDownloads the externally hosted raw artifacts for a given stage when URLs are published in the stage's raw-manifest.csv. See the Raw Data Policy for details on what is hosted externally.
./scripts/download-raw.sh <stage>
# Example:
./scripts/download-raw.sh 01-baselineInternal helper:
lib/compare_results.py— implementation used bycompare-results.sh
First time — build everything:
./setup.shRun a single stage and plot it:
source .zsim-env
./experiments/runner.sh 01-baseline
./experiments/plot.py experiments/01-baseline/test-raw \
--config-dir experiments/01-baseline
# → figures land in test-output/01-baseline/figures/Compare two stages (works against committed CSVs or freshly generated ones):
./scripts/compare-results.sh 01-baseline 04-model-correctDownload published raw artifacts for one stage (if manifest URLs are final):
./scripts/download-raw.sh 01-baseline-> For details on runner.sh, run-one.sh, and the plotting pipeline see experiments/README.md.