This repository contains a reproducible Python implementation of the Crane scheduling workflow for DNN pipeline scheduling experiments.
- Layer and DAG modeling
- Hierarchical block construction and refinement
- ScT and MeT based scheduling / memory optimization
- Transformer and official NNS experiment entrypoints
- Standard text, CSV, and HTML outputs under
outputs/experiments/
Python 3.11 is recommended.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtpython --version
python -m pip --versionpython example\run_transformer_min_layer_block_experiment.pypython example\run_transformer_training_repro.py --verbose-progresspython example\run_official_nns_layer_level.pyEach run writes a timestamped directory under outputs/experiments/, typically including:
summary.txtsummary.csvbest_detail.txtbest_detail.html- network-specific detail files for batch runs
The standard outputs intentionally use repository-relative paths instead of machine-specific absolute paths.
.venv,__pycache__, and generated experiment outputs are ignored by Git.- The experiment scripts should be run from the repository root.
- Existing reference materials under
outputs/docs/are kept in the repository; generated experiment runs underoutputs/experiments/are not.