This document is the shortest path from cloning BitFly to running a correctness check, launching a benchmark app, and regenerating the roofline figure.
After following this page once, you should know:
- where maintained BitFly source lives
- how to sync that source into the buildable Ara tree
- how to run one correctness regression and one benchmark flow
- where generated outputs are supposed to land
git clone --recursive git@github.com:hypertseng/bitfly.git
cd bitfly
git submodule update --init --recursiveRecommended host tools:
gitmakepython3gcc/g++rsyncVerilator
Ara-specific setup is documented in ../ara/DEPENDENCIES.md.
scripts/dev/sync_src_to_ara.shThis copies maintained overlays from src/ into the buildable Ara working tree under ara/.
If you plan to preserve a change in the repository, treat this sync step as mandatory rather than optional.
make -C ara/hardware verilate -j8
make -C ara/apps bin/bmpu_verify -j8
make -C ara/hardware simv app=bmpu_verifyExpected success signature:
ALL CASES PASSED
Use this regression before long benchmark campaigns and after any maintained BMPU-related software or RTL change.
scripts/benchmarks/run_model_split_apps.sh \
--mode run \
--apps bmpmm_INT2_gemma3_270m \
--parallel 1 \
--batch-size 1Typical outputs appear under tmp/model_app_runs/<run>/:
apps.txtrunner.logsummary.csvbatch_XX/<app>.log
Treat that run directory as the minimal reproducibility unit for a benchmark result.
scripts/benchmarks/run_model_split_apps.sh \
--mode all \
--build-jobs 16 \
--parallel 5 \
--batch-size 5For methodology and output interpretation, see benchmark_workflow.md.
python3 scripts/analysis/roofline.pyOutputs:
roofline_search_results.pngroofline_search_results.pdf
Use this rule throughout development and reproduction:
src/ = maintained BitFly logic
ara/ = synced build and simulation tree
tmp/ = generated outputs
These are typically local or generated artifacts rather than maintained project logic:
- simulator logs
- large model binaries
- traces and debug dumps
- temporary patch exports
- benchmark run directories under
tmp/
If you need a more detailed repository explanation, continue with repo_structure.md, repo_guide.md, ../src/README.md, and ../scripts/README.md.