Files
llama.cpp/tests/fusion
Georgi GerganovandGitHub bbdd9f246e tests : add fusion baseline README and broaden fusion CI triggers (#28893)
* tests : add README for updating the per-backend fusion baselines

Assisted-by: pi:llama.cpp/Qwen3.8-27B

* ci : trigger fusion on changes to test-llama-archs.cpp and src/models

the dummy models and their architectures drive the fusion baselines, so a
change to either can alter the per-fusion counters and should re-run the
fusion job.

Assisted-by: pi:llama.cpp/Qwen3.8-27B

* tests : merge the fusion build commands in the README

assisted-by: pi:llama.cpp/Qwen3.8-27B

* pi : require explicit permission before posting PR/issue comments

assisted-by: pi:llama.cpp/Qwen3.8-27B
2026-09-14 15:45:05 +03:00
..

Fusion baselines

Per-device baselines for test-fusion, one CSV per backend (e.g. MTL.csv). Rows are arch,moe,mode,label,count. Regenerate a CSV whenever fusion patterns change.

Update a baseline

cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=ON   # enable the target backend
cmake --build build --config Release --target test-llama-archs --target test-fusion -j

rm -rf build-ci-models && mkdir -p build-ci-models
./build/bin/test-llama-archs -o build-ci-models

./build/bin/test-fusion --models build-ci-models --device MTL0 --record MTL.csv

Validate

./build/bin/test-fusion --models build-ci-models --device MTL0 --check MTL.csv

Non-zero exit means a row differs from the baseline. Use --model FILE to run a single architecture. Note --check only sees present rows — a fusion that stops matching is not reported, so diff the recorded CSV to catch removed patterns.