Skip to content

chore(deps): pin flopscope 0.12.1 and whestbench 0.16.1 - #40

Merged
spMohanty merged 2 commits into
mainfrom
chore/pin-flopscope-0.12.1-whestbench-0.16.1
Aug 29, 2026
Merged

spMohanty merged 2 commits into
mainfrom
chore/pin-flopscope-0.12.1-whestbench-0.16.1

Conversation

@spMohanty

Copy link
Copy Markdown
Member

Raises the pinned floors to flopscope>=0.12.1,<0.13.0 and whestbench>=0.16.1,<0.17.0, matching the releases that just shipped.

What changed in the meter. flopscope 0.12.1 makes a symmetry tag describe the buffer it is attached to. flops.as_symmetric() validates within a tolerance, and it now makes the data exactly match the claim before tagging — each orbit takes its first entry. Data that is already exactly symmetric, such as an identity or a covariance built as X.T @ X, is untouched and costs the same; that covers nearly every use in the kit. flops.symmetrize() gains mode="canonical-copy" beside the unchanged default, and it remains available for symmetry groups too large for the default to enumerate.

What moves a FLOP figure. fnp.full and fnp.full_like no longer infer a symmetry from shape when fill_value is an array rather than a scalar, so results built that way are priced as the dense arrays they are. A scalar fill is unaffected at every shape. Announced in the changelog, since the kit is the published spec of the live round.

Verified against the published wheels (flopscope 0.12.1, whestbench 0.16.1): 47 tests pass, including test_flopscope_cost_docs.py and test_rounds_doc.py, which assert documented figures against real behaviour rather than restating them.

flopscope 0.12.1 makes a symmetry tag describe the buffer it is attached to:
as_symmetric validates within a tolerance and now makes the data match the claim
before tagging. Data that is already exactly symmetric is untouched and costs the
same, which covers nearly every use in the kit.

The one change that moves a FLOP figure is full/full_like with a non-scalar
fill_value, which no longer infers a symmetry from shape. Announced in the
changelog, since the kit is the published spec of the live round.

Verified against the published wheels: 47 tests pass, including the cost-docs and
rounds-doc suites that assert documented figures against real behaviour.
The kit described the evaluator as sitting on whestbench v0.15.0 with
flopscope[server]==0.11.0, and pointed at an open PR to move it. The evaluator
has been on v0.16.0 + 0.12.0 for some time, so the claim was two releases behind
in four places: the pyproject pin note, the changelog entry for the 0.16.0 move,
the cost-docs test header, and the FAQ's atomic-pair answer.

With this bump the kit leads the grader by one patch on each, which the pin note
now states, along with why that is safe: the only price 0.12.1 moves is
full/full_like given a non-scalar fill_value, and nothing in docs/ builds an
array that way.
@spMohanty

Copy link
Copy Markdown
Member Author

Folded in a second commit correcting stale grader-pin claims found while checking the changelog for stale values.

The kit described the evaluator as still on whestbench@v0.15.0 + flopscope[server]==0.11.0 with an open PR to move it. The evaluator is in fact on v0.16.0 + flopscope[server]==0.12.0 — the claim was two releases behind, in four places: the pyproject pin note, the changelog entry for the 0.16.0 move, the test_flopscope_cost_docs.py header, and the FAQ's atomic-pair answer.

With this bump the kit leads the grader by one patch on each rather than trailing it. The pin note now says so, and says why it is safe: the only price 0.12.1 moves is full/full_like given a non-scalar fill_value, and nothing in docs/ builds an array that way — which test_flopscope_cost_docs.py is the standing gate on.

@spMohanty
spMohanty merged commit 3e1e3b5 into main Aug 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant