scripts/benchmarks/ is the main automation entry point for model-split benchmark campaigns.
scripts/benchmarks/run_model_split_apps.sh --helpThis is the command surface used for most paper-style benchmark runs.
| File | Purpose |
|---|---|
run_model_split_apps.sh |
batch build-and-run launcher for the benchmark app matrix |
extract_gemm_shapes.py |
helper to derive GEMM shapes from model descriptions or traces |
run_llama2_verilator_prefill_sweep.sh |
focused prefill benchmark sweep for the llama2/ flow |
plot_llama2_verilator_prefill_summary.py |
compact plotting helper for prefill sweep summaries |
models.txt |
default model list used by the workflow |
Build and run the selected matrix:
scripts/benchmarks/run_model_split_apps.sh --mode all --build-jobs 16 --parallel 5 --batch-size 5Reuse existing builds and run simulations only:
scripts/benchmarks/run_model_split_apps.sh --mode run --no-rebuild-apps --no-verilate --parallel 5 --batch-size 5Run one app as a smoke test:
scripts/benchmarks/run_model_split_apps.sh --mode run --apps bmpmm_INT2_gemma3_270m --parallel 1 --batch-size 1Run the dedicated llama2 prefill sweep:
scripts/benchmarks/run_llama2_verilator_prefill_sweep.shEach run writes into tmp/model_app_runs/<run_name>/:
apps.txtrunner.logsummary.csvbatch_XX/<app>.log
The llama2 prefill sweep produces its own summary-oriented outputs and is best treated as a separate experiment flow from the main model-split benchmark matrix.
For the benchmark contract and output interpretation, see: