BigMoeOnEdge/CONTRIBUTING.md
Helldez ecd7b56834
feat(bench): community benchmarks: one-command host protocol, issue form, results table (#176)
Every published number comes from one phone and one laptop. This adds what a
contributor needs to add a row from hardware we do not own, without reading code:

- scripts/bench-report.sh runs the fixed README protocol on any Linux/macOS host
  (256 greedy tokens, the reference prompt, auto cache, 4 lanes, overlap, dense
  weights out of the page cache), records CPU / RAM / drive and the drive's
  measured O_DIRECT rate at 512 KiB requests from the model file itself, and
  prints the two markdown tables a report needs. Every figure is read from the
  CSV `# summary` trailer by key name.
- .github/ISSUE_TEMPLATE/benchmark-report.yml collects hardware, model, engine
  version and the pasted tables; tok/s alone is not accepted as a row.
- docs/community-benchmarks.md holds the protocol, the hardware wanted and why,
  the reference models in the catalog quants, the meaning of each column, and
  the results table seeded with the README rows.
- README, CONTRIBUTING and the docs index point at it.
2026-08-27 21:29:19 +02:00

1.5 KiB

Contributing

Thanks for your interest. BigMoeOnEdge stays deliberately small and disciplined.

Ground rules

  • Never patch third_party/llama.cpp in-tree. Work through its public API. Keeping the submodule stock is the point of the project (see docs/seam.md).
  • The byte-identity gates must pass. Streaming must stay lossless. Run ctest --output-on-failure before opening a PR; if you change the streamer or the seam, say so in the PR and note the gate result.
  • No hardcoding. New MoE architectures are recipe rows (docs/adding-a-model.md).
  • English everywhere. Conventional Commits. Match .clang-format.

Getting set up

git clone --recursive https://github.com/Helldez/BigMoeOnEdge.git
cd BigMoeOnEdge
scripts/build-host.sh
cd build && ctest --output-on-failure

Good first contributions

  • A benchmark on hardware we do not have. No code needed: scripts/bench-report.sh MODEL.gguf runs the fixed protocol and prints the tables; open a benchmark report. See docs/community-benchmarks.md for the hardware list and what a row needs.
  • A new MoE architecture recipe + its gate (docs/adding-a-model.md).
  • Read coalescing / expert-contiguous layout experiments (see docs/roadmap.md).

PRs

Keep them focused. Describe what you measured if the change is performance-related, and on what hardware. Update the relevant doc in the same PR as the code.