Repository navigation
cost: measured Zen2 team row for x86_64-avx2, anchors 2 to 64 (#6 stage 2); threadteam 0.1.2 - #8
Merged
Merged
Conversation
…ge 2) broccoli (AMD EPYC 7702P, Zen2, 64 cores), pool 64, this crate's dispatch_cost bench, team/load10us-minus-10us at widths 2..64. The plain kinds keep the generic row. The class mixes a measured dispatch row with the consumer crates' generic rates; documented as a heuristic exception. Measured rows are now const items, so an invalid anchor list fails the build instead of an expect at run time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Closes #6 (stage 2, proposal 3). Stage 1 is #7, released as 0.1.1. Item 4, where faer drops
team_section_cost, is a separate faer PR that follows this release.Summary
for_class(HostClass::X86_64Avx2)gets a measured team row with ten anchors (widths 2 to 64). The data is from the comment on WidthCosts is flat above width 6: extrapolate conservatively and accept measured anchors up to 64 #6 (2026-10-29):broccoli: AMD EPYC 7702P (Zen2), 64 cores, SMT off, boost off, governorperformance;benches/dispatch_cost.rsinfaer-benchmark;team/load10us-minus-10us, the same quantity as the existing rows, rounded to the nearest ns.The raw output is checked in as
docs/design/thresholds-data/raw/broccoli-dispatch-20261029.csv.The plain kinds (in pool, outside) keep the generic row on purpose. The run's plain-token numbers were a control and are not promoted to the row.
What the row does not claim (
docs/design/thresholds.mdsection 3.7):x86_64-avx2are still generic: a heuristic exception to "one machine per class". Thefor_classrustdoc andplacement.mdnow name it.PoolBuilder::dispatch_costsoverrides it.Measured rows are now
constitems (anchored). An invalid anchor list fails the build instead of reaching the runtimeexpectfrom stage 1.threadteam 0.1.2 for the approved patch release.
Tests
tests/dispatch_cost.rs::avx2_class_has_the_measured_zen2_team_rowchecks:x86_64-avx2is removed from the generic-row loop.Verification
The AGENTS.md pre-push checklist passes locally:
cargo fmt --checkcargo clippy(all features and no default features, both with-D warnings)cargo test(default, all features and no default features)loom_parkcargo deny check bansscripts/check-no-public-rayon.shcargo docIndependent pre- and post-implementation reviews (gpt-6.1-sol) were done. The pre-review's two IMPORTANT points (mixed provenance, small hosts) are documented as above, and the post-review's minor wording points are fixed.
🤖 Generated with Claude Code