benchmark-tune
Skill3.8k starsChanged 20 days agoApache-2.0View on GitHub
Use this skill when running, debugging, interpreting, or documenting mesh-llm benchmark tune model-serving throughput trials, including choosing ctx/batch/ubatch/mmap/mlock/speculative-decoding sweeps, running benchmark tune on local or SSH hosts, collecting JSON evidence, and applying tolerance-aware recommendations. Trigger for requests mentioning benchmark tune, tuning tok/s, ctx_size tradeoffs, mmap or mlock tuning, speculative decoding, MTP, ngram, draft models, or replacing old gpu tune usage.
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 6 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use mesh-llm benchmark tune for model-serving throughput tuning.
- Distinctive: line 15
Verify the command surface from the current checkout before long runs:
- Very specific: line 37
If the run is on a remote node over SSH and will take time, use the remote-observable-process skill.
- Distinctive: line 57
Start with a bounded sweep, then expand around promising values:
- Very specific: line 79
If --mmap-values is omitted, tune tries auto, true, and false.
- Very specific: line 80
If --mlock-values is omitted, tune tries false and only tries true when the current mlock probe says the evaluated budget can be locked.
- Very specific: line 82
If --speculative-types is omitted, tune uses auto: it tries mtp first when the model target looks like an MTP model, tries discovered local …
- Very specific: line 86
Use --no-speculative-tune when you need to reproduce the older fit-only/disabled-speculation behavior or isolate non-speculative …
- Very specific: line 88
Use --speculative-types mtp,draft,ngram,disabled to force an explicit speculative sweep.
- Very specific: line 95
Use longer --max-tokens when decode throughput is noisy.
- Very specific: line 97
Keep --throughput-tolerance-pct near the default 10 unless the user asks for stricter raw throughput optimization.
- Very specific: line 99
Add --debug-telemetry when you need proof that speculative decoding is actually active.
- Distinctive: line 137
Call out tradeoffs explicitly:
- Distinctive: line 139
If raw best and recommended differ, explain the tok/s delta and context gain.
- Very specific: line 140
If mmap or mlock changes the winner, report those controls separately.
- Very specific: line 141
If speculative decoding changes the winner, report both tok/s and the active speculative candidate.
- Distinctive: line 146
If all trials fail, summarize the shared failure reason and link the trial log paths rather than claiming no viable configuration exists.
- Distinctive: line 148
If results are close, avoid overfitting decimals.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Benchmark Tune
Use mesh-llm benchmark tune for model-serving throughput tuning. Do not use
mesh-llm gpu tune or mesh-llm gpus tune; the GPU namespace is for hardware
inventory and raw fingerprinting (mesh-llm gpus, mesh-llm gpus detect, and
hidden gpus run-benchmark).
Preflight
Verify the command surface from the current checkout before long runs:
target/release/mesh-llm benchmark --help
target/release/mesh-llm benchmark tune --help
target/release/mesh-llm gpus --helpFor performance work, use a release build on the target host:
just release-buildOn NVIDIA remote hosts, verify that the selected CUDA native runtime is actually
in use before recording performance results. For Jetson/Orin-style aarch64 CUDA
hosts, build the normal backend-neutral product with a CUDA runtime, for example
just build backend=cuda cuda_arch=87, with the CUDA toolkit paths exported as
needed. The host itself must remain backend-neutral; a generic CPU runtime is
not valid performance evidence for GPU tune work. Confirm mesh-llm runtime
list selects the intended CUDA runtime before benchmarking.
If the run is on a remote node over SSH and will take time, use the
remote-observable-process skill. Prefer a TTY/login shell and tee logs over
detached first attempts.
Targets
Benchmark tune accepts already-downloaded local/configured model targets only.
It will not fetch remote-only refs. If no explicit target is passed, it uses
configured local models from ~/.mesh-llm/config.toml.
Use one of:
mesh-llm benchmark tune --model /models/model.gguf
mesh-llm benchmark tune --models /models/a.gguf,/models/b.gguf
mesh-llm benchmark tuneCandidate Sweep
Start with a bounded sweep, then expand around promising values:
mesh-llm benchmark tune \
--model /models/model.gguf \
--ctx-sizes 8192,32768,131072,262144 \
--batch-sizes 512,1024,2048 \
--ubatch-sizes 256,512,1024 \
--mmap-values auto,true,false \
--mlock-values false,true \
--speculative-types auto \
--throughput-tolerance-pct 10 \
--max-tokens 128 \
--debug-telemetry \
--jsonRules:
ubatchmust be less than or equal tobatch; invalid pairs are skipped.mmapandmlockare separate controls. Sweep them independently when diagnosing load/runtime behavior.- If
--mmap-valuesis omitted, tune triesauto,true, andfalse. - If
--mlock-valuesis omitted, tune triesfalseand only triestruewhen the current mlock probe says the evaluated budget can be locked. - If
--speculative-typesis omitted, tune usesauto: it triesmtpfirst when the model target looks like an MTP model, tries discovered local draft-model candidates when available, tries ngram candidates as a model-free fallback, then includes a disabled baseline. - Use
--no-speculative-tunewhen you need to reproduce the older fit-only/disabled-speculation behavior or isolate non-speculative regressions. - Use
--speculative-types mtp,draft,ngram,disabledto force an explicit speculative sweep.draftrequires either--spec-draft-models, a configureddraft_model_path, or a local sibling GGUF whose filename looks like a draft/EAGLE model for the target. - MTP and draft sweeps use
--spec-draft-max-tokensand--spec-draft-min-tokens. Ngram sweeps use--spec-ngram-minand--spec-ngram-max. - Use longer
--max-tokenswhen decode throughput is noisy; use shorter values only for smoke checks. - Keep
--throughput-tolerance-pctnear the default10unless the user asks for stricter raw throughput optimization. - Add
--debug-telemetrywhen you need proof that speculative decoding is actually active. It runs trial children with Skippy debug telemetry mirrored intotarget/gpu-tune/.../serve.log.
Evidence
Capture machine-readable output and trial logs:
mkdir -p target/benchmark-tune
mesh-llm benchmark tune ... --json \
| tee target/benchmark-tune/$(hostname)-$(date +%Y%m%d-%H%M%S).jsonFor remote hosts, include host, branch, commit, binary path, command, and output
path in the final report. Benchmark tune keeps per-trial logs under
target/gpu-tune/; inspect those logs when a trial fails or startup readiness
is slow.
Useful JSON fields:
benchmarks[].best: tolerance-aware recommendation.benchmarks[].raw_best: highest observed decode tok/s.benchmarks[].pareto_frontier: tradeoff set for decode tok/s vsctx_size.benchmarks[].trials[].decode_tok_s: measured decode throughput.benchmarks[].trials[].candidate.speculative: speculative mode and settings used for that isolated trial.benchmarks[].trials[].timings: lifecycle timing stats:setup_ms,readiness_ms,request_ms,shutdown_ms,total_ms, andreadiness_attempts.benchmarks[].trials[].errorandlog_path: first stop for failures.
Interpretation
Report both raw best and recommended settings. The recommendation is
tolerance-aware: candidates within --throughput-tolerance-pct of raw best are
treated as throughput-equivalent, then larger ctx_size is preferred.
Call out tradeoffs explicitly:
- If raw best and recommended differ, explain the tok/s delta and context gain.
- If
mmapormlockchanges the winner, report those controls separately. - If speculative decoding changes the winner, report both tok/s and the active
speculative candidate. For MTP, inspect trial logs/telemetry for
llama_stage.native_mtp.enabled, drafted/accepted/rejected counts, and accept rate before concluding it is helping. Use--debug-telemetryif those attributes are not present in the trial log. - If all trials fail, summarize the shared failure reason and link the trial log paths rather than claiming no viable configuration exists.
- If results are close, avoid overfitting decimals; prefer the setting with the better context or operational posture.
Trending
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about michaelneale/mesh-llm
- A Hacker News story“Pool spare GPU capacity to run LLMs at larger scale”Hacker News · Mar 24, 2026 · 11 points
- @rusttrending.bsky.social“michaelneale / mesh-llm: reference impl with llama.cpp compiled to distributed inference across machines, …”Bluesky · Apr 11, 2026 · 2 likes
- @yug1224.com“複数のLLMを連携させてタスクをこなすための分散型エージェントフレームワークらしい 複雑なワークフローを構築する際に役立ちそうかな yug1224 starred michaelneale/mesh-llm…”Bluesky · Apr 8, 2026 · 1 likes
- Mesh-LLM/mesh-llm“Add mesh-llm MoE planning, analysis, and ranking contribution commands”GitHub · Apr 11, 2026
- Mesh-LLM/mesh-llm“Simplify model for node states”GitHub · Apr 10, 2026
The biggest 5 of 18 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 18
Talked about on GitHub, Bluesky and Hacker News (18 times).
On GitHub · 15
- Apr 11, 2026Add mesh-llm MoE planning, analysis, and ranking contribution commands — Mesh-LLM/mesh-llm0 reactions · 1 comment
- Apr 10, 2026Simplify model for node states — Mesh-LLM/mesh-llm0 reactions · 2 comments
- Apr 10, 2026revise mesh publication rules — Mesh-LLM/mesh-llm0 reactions · 1 comment
- Apr 5, 2026Roll out config as local node config first, then reconcile mesh-wide desired state — Mesh-LLM/mesh-llm0 reactions · 2 comments
- Apr 3, 2026CommitLLM sumi capture: working on Apple Silicon Q8_0 — michaelneale/llama.cpp0 reactions
10 more on GitHub
- Apr 2, 2026Add hardware runtime status enrichment without changing model metadata sources — Mesh-LLM/mesh-llm0 reactions
- Apr 2, 2026Design owner identity propagation and direct verification — Mesh-LLM/mesh-llm0 reactions · 4 comments
- Apr 2, 2026Design owner keystore and Rust signed+encrypted message primitives — Mesh-LLM/mesh-llm0 reactions
- Apr 2, 2026Track splitting PR #130 into smaller rollout PRs — Mesh-LLM/mesh-llm0 reactions · 2 comments
- Apr 2, 2026research: mesh-llm integration — p2p inference mesh + model sharding under obol-stack economic layer — ObolNetwork/obol-stack0 reactions
- Apr 2, 2026[WIP] Make PR 103 mergable on top of PR 127 — Mesh-LLM/mesh-llm0 reactions
- Apr 2, 2026refactor: decompose mesh.rs and app/mod.rs into focused submodules — Mesh-LLM/mesh-llm0 reactions · 1 comment
- Mar 28, 2026Autoupdater — Mesh-LLM/mesh-llm0 reactions
- Mar 27, 2026Add a staged auto-updater for release bundles — Mesh-LLM/mesh-llm0 reactions
- Mar 27, 2026Add generic bulk transfer support to mesh plugins — Mesh-LLM/mesh-llm0 reactions
On Bluesky · 2
- Apr 11, 2026michaelneale / mesh-llm: reference impl with llama.cpp compiled to distributed inference across machines, with real end to end demo ★720… — @rusttrending.bsky.social2 likes and reposts
- Apr 8, 2026複数のLLMを連携させてタスクをこなすための分散型エージェントフレームワークらしい 複雑なワークフローを構築する際に役立ちそうかな yug1224 starred michaelneale/mesh-llm… — @yug1224.com1 likes and repost
On Hacker News · 1
- Mar 24, 2026Pool spare GPU capacity to run LLMs at larger scale11 points · 3 comments
Other versions1 project uses a version of this.
Word for word · 1
- Mesh-LLM/mesh-llm★ 3.5k100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository32 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- mesh/AGENTS.mdAGENTS.md
- skippy/AGENTS.mdAGENTS.md
- config-settings-managementSkill
- connect-agentsSkill
- deploy-linux-gpuSkill
- deploy-macosSkill
- deploy-windowsSkill
- hf-bf16-gguf-conversion-jobsSkill
- hf-gguf-quant-jobsSkill
- hf-layer-package-jobsSkill
- hf-quant-and-layer-package-jobsSkill
- kv-tool-loop-stabilitySkill
- llama-patch-changesSkill
- llama-stage-patch-changesSkill
- manage-ciSkill
- mesh-joinSkill
- metrics-serverSkill
- plugin-web-ui-extensionSkill
- release-notesSkill
- release-validationSkill
- remote-observable-processSkill
- skippy-cache-family-benchSkill
- skippy-correctnessSkill
- skippy-family-certificationSkill
- skippy-metricsSkill
- skippy-model-packageSkill
- skippy-promptSkill
- skippy-servingSkill
- skippy-spec-benchSkill
- telemetry-privacy-reviewSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

