Repository navigation
Conversation
Add run_speedbench_aiperf and resolve_speedbench_dataset to benchmark_lib.sh. The pinned utils/aiperf speed_bench_* loaders read the prepared SPEED-Bench snapshot (Noridom1/speed-bench-prepared@6e5c3a81, SHA256-checked, cache first); infx.bench_serving.speedbench_aiperf maps the aiperf export onto the benchmark_serving result keys and attaches acceptance length from the vllm:spec_decode_* counters, so SPEED-Bench arms use the normal fixed-seq-len process_result/collect path. Wire an optional SPEEDBENCH_HF_TOKEN secret (benchmark-tmpl callers only, forwarded by launch_h200-greennode.sh; falls back to HF_TOKEN) and upload results/speedbench_aiperf as its own artifact. 在 benchmark_lib.sh 中新增 run_speedbench_aiperf 与 resolve_speedbench_dataset。固定版本 utils/aiperf 的 speed_bench_* loader 读取预处理好的 SPEED-Bench 快照(Noridom1/speed-bench-prepared@6e5c3a81, 校验 SHA256,优先使用缓存);infx.bench_serving.speedbench_aiperf 将 aiperf 导出转换为 benchmark_serving 结果格式,并从 vllm:spec_decode_* 计数器计算 接受长度,使 SPEED-Bench 走标准 fixed-seq-len 处理流程。 新增可选 secret SPEEDBENCH_HF_TOKEN(仅传给 benchmark-tmpl 调用,由 launch_h200-greennode.sh 转发进容器,缺省回退到 HF_TOKEN),并将 results/speedbench_aiperf 作为独立 artifact 上传。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
run_greenspec_aiperf (benchmark_lib.sh) benchmarks one GreenSpec subset with aiperf: it uses the greenspec_* preset when the installed aiperf has it, else writes a raw_payload file. The dataset is fetched from a private HF repo pinned by commit and checked against SHA256SUMS. A guard runs before any upload: it keeps an allowlist of result files, strips error messages, withholds the server log, and fails on any row id or oversized file. Workflows gain the greenspec inputs; the aiperf submodule points at a fork branch with the GreenSpec loader. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the contribution!
中文感谢你的贡献!
|
Bucket presets cover the full bucket, so a lite bucket selection took the preset and sent the first N rows of the full bucket instead of its lite rows. Return no preset there, as for recorded, so it runs through raw_payload. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
How a GreenSpec cell runs, prerequisites, subset selection, adding a cell, dispatch and results, troubleshooting, and the data-safety rules. English only for now. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aiperf's console stays off the job log because it can echo server error text, which left long cells with no progress. A watcher now reads that console every GREENSPEC_PROGRESS_INTERVAL seconds (default 60, 0 = off) and prints only the numbers of its progress bars: 'GreenSpec progress: Profiling 33/64 (52%) elapsed 02:10 eta 02:00'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Noridom1
marked this pull request as ready for review
October 28, 2026 06:42
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
The watcher only reprinted progress-bar numbers from a hidden console log, and missed aiperf's percent-only Profiling bar. aiperf's console now streams to the job log through `greenspec_aiperf console`, unbuffered. The filter drops what can echo server error text: the Error Summary table (its Message column is the raw server response) becomes one line of codes and counts, and an ERROR or CRITICAL record keeps only its timestamp and level. Each progress bar, with or without a total, prints at most once per GREENSPEC_PROGRESS_INTERVAL seconds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The server still holds its log open when the guard runs. Truncating and writing the stub let later engine writes land after it, behind a hole of NULs, so the uploaded log was no longer just the stub. Write the stub to a sibling file and os.replace it, so the server keeps writing to the unlinked inode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Five commits on top of
vng-benchmark(fast-forward, no conflicts):02920960feat(speedbench): shared SPEED-Bench client on aiperf. Addsrun_speedbench_aiperf/resolve_speedbench_datasettobenchmark_lib.sh.infx.bench_serving.speedbench_aiperfmaps the aiperf export onto thebenchmark_servingresult keys and adds acceptance length from thevllm:spec_decode_*counters. Adds an optionalSPEEDBENCH_HF_TOKENsecret.4f0bd067feat(greenspec): GreenSpec arm on aiperf.run_greenspec_aiperfbenchmarks one GreenSpec subset (internal prod-traffic spec-decode bench). It uses the aiperfgreenspec_*preset when available, else araw_payloadfile. The dataset comes from a private HF repo pinned by commit and checked againstSHA256SUMS. A guard runs before any upload:Adds an optional
GREENSPEC_HF_TOKENsecret.60c5a2fefix(greenspec): no preset for a lite bucket selection. Bucket presets cover the full bucket, soGREENSPEC_BUCKETwithGREENSPEC_LITE=1now runs throughraw_payloadinstead of sending the first N rows of the full bucket.0c6498acdocs(greenspec): GreenSpec procedures. Newdocs/greenspec-procedures.md(flow, prerequisites, selection, adding a cell, dispatch and results, troubleshooting, data-safety rules), linked fromdocs/index.mdanddocs/procedures.md. English only for now; the_zh.mdpair is not included.8e8d4343feat(greenspec): progress lines in the job log. aiperf's console stays off the job log (it can echo server error text). A watcher reads it everyGREENSPEC_PROGRESS_INTERVALseconds (default 60, 0 = off) and prints only the progress-bar numbers, e.g.GreenSpec progress: Profiling 33/64 (52%) elapsed 02:10 eta 02:00. Checked end to end againstaiperf-mock-server.Submodule change
utils/aiperfmoves fromSemiAnalysisAI/aiperf@faf3f8btoNoridom1/aiperf@8f69bd6f(branchfeat/greenspec-loader). That is the same base plus one commit, the GreenSpec loader and presets. Existing aiperf/agentx recipes run on the same code.Note:
faf3f8b(the current pin onvng-benchmark) is not on any branch ofSemiAnalysisAI/aiperf; it only lives on a personal fork branch. Before merge, the plan is to:vngcloud/aiperfatfaf3f8b;vngcloud/aiperf.Validation
utils/test_greenspec_aiperf.pyandutils/test_speedbench_aiperf.pypass.agentic_toolslite. It ran from the bench branch, which adds a test recipe on top of this PR.Both cells passed: 256/256 requests each, no errors. Each GreenSpec artifact holds only the 5 allowlisted files.
No
ignore_eos, so output lengths differ between arms (82k vs 90k tokens). Compare TPOT and throughput, not duration. ITL is per chunk and is not comparable under MTP.Not in this PR
hardware-hcmSlurm account fix (27185633,SLURM_ACCOUNT="greennode") is still needed onvng-benchmark. The CI run above used it via the bench branch.bench/gemma4-greenspec-hcm.