The scripts/ tree is the command surface of BitFly. It is organized by workflow rather than by language or implementation detail.
| Task | Primary Entry Point | Main Output |
|---|---|---|
| sync maintained overlays into Ara | scripts/dev/sync_src_to_ara.sh |
updated ara/ tree and optional patch artifact |
| run one smoke-check benchmark app | scripts/benchmarks/run_model_split_apps.sh --mode run --apps <app> --parallel 1 --batch-size 1 |
one benchmark run directory |
| run the main model-split matrix | scripts/benchmarks/run_model_split_apps.sh --mode all --build-jobs 16 --parallel 5 --batch-size 5 |
benchmark campaign under tmp/model_app_runs/ |
| regenerate search or roofline outputs | python3 scripts/analysis/roofline.py |
plots and derived metrics |
| debug SA behavior | scripts/debug/run_sa_tb.sh |
focused SA testbench output |
| debug LBMAC behavior | scripts/debug/run_lbmac_tb.sh |
focused LBMAC testbench output |
| Directory | Purpose |
|---|---|
analysis/ |
tiling search, roofline analysis, and post-processing |
benchmarks/ |
benchmark campaign launchers |
debug/ |
focused debug launchers for hardware blocks |
dev/ |
sync and repository maintenance helpers |
Use scripts/ as the repository command surface, not as a dumping ground for unrelated helpers.
Prefer:
scripts/dev/for sync and maintenance operationsscripts/benchmarks/for experiment launchersscripts/analysis/for post-processing and figure generationscripts/debug/for shortest-loop hardware debug
If a script does not clearly fit one of those workflows, it usually needs either a better home or better documentation.
scripts/dev/sync_src_to_ara.shUse this after changing maintained overlays under src/.
scripts/benchmarks/run_model_split_apps.sh --helpThis is the main entry point for paper-style benchmark campaigns.
python3 scripts/analysis/roofline.pyUse this to regenerate roofline-style figures from the current search and configuration outputs.
Historical wrapper paths remain available so older shell history continues to work:
scripts/run_model_split_apps.shscripts/run_lbmac_tb.shscripts/run_sa_tb.shscripts/sync_src_to_ara.sh
For new documentation, new automation, and paper references, prefer the categorized paths under scripts/.
Runner and analysis scripts should write outputs into explicit run or output directories rather than beside maintained source files. The normal homes are:
tmp/model_app_runs/for benchmark campaigns- dedicated figure/output directories for analysis products
patches/local/for local exported sync patches