[Fix][Manifest] add at least 2 workloads to 21 binary elementwise ops (cherry-pick #1392)#1395
Merged
Ibuki-wind merged 1 commit intotile-ai:mainfrom May 9, 2026
Merged
Conversation
…e ops (tile-ai#1392) ## Summary Fix gpu-smoke `test_every_op_has_at_least_two_workloads` failure by populating empty `workloads:` lists on 21 implemented binary elementwise ops (\`AddFwdOp\`, \`SubFwdOp\`, \`MulFwdOp\`, \`DivFwdOp\`, \`RemainderFwdOp\`, \`PowFwdOp\`, \`FloorDivideFwdOp\`, \`LerpFwdOp\`, \`MaximumFwdOp\`, \`MinimumFwdOp\`, \`Eq/Ne/Gt/Lt/Ge/LeFwdOp\`, \`LogicalAnd/OrFwdOp\`, \`BitwiseAnd/Or/XorFwdOp\`). This pre-existing testbed CI break has been blocking nightshift auto-merge for PRs tile-ai#1387, tile-ai#1388, tile-ai#1389, tile-ai#1391. Filed as issue tile-ai#1390 — this PR resolves it. ## Plan executed Each affected op now declares two representative workloads: - **LLM hidden-state prefill**: \`input/other [2048, 4096]\` (no broadcast) - **CNN feature map**: \`input [16, 256, 56, 56]\`, \`other [256, 1, 1]\` (channel-wise broadcast) Dtype matrix matches each op's signature: - Float-only ops (\`Div\`, \`Pow\`, \`Lerp\`, \`Remainder\`, \`FloorDivide\`): \`float16, bfloat16\` - Bitwise ops (\`BitwiseAnd/Or/Xor\`): \`int32, int64\` - Logical ops (\`LogicalAnd/Or\`): \`bool\` - Default (other arithmetic + comparison): \`float16, bfloat16\` ## Test plan - [x] \`pytest tests/test_ops_manifest.py::TestOpSchema::test_every_op_has_at_least_two_workloads\` — passes - [x] \`pytest tests/test_validate_manifest.py tests/test_ops_manifest.py\` — 239 passed - [x] \`python scripts/validate_manifest.py\` — \"All manifest checks passed\" - [x] Pre-commit clean ## Acceptance Criteria Closes tile-ai#1390. - AC-1: ✅ Modified files pass unit tests. - AC-2: ✅ \`AddFwdOp.workloads\` (and 20 siblings) now have 2 entries each, satisfying signature + broadcasting rules. - AC-3: ✅ \`scripts/validate_manifest.py\` exits 0 with no new warnings on the affected ops. - AC-4: To be verified by gpu-smoke on this PR's run. ## Trust model Manifest-only PR. No \`signature\`, \`roofline\`, \`params\`, \`shape_rules\`, or \`dtype_combos\` edits. Falls within the trust-model rule that workload edits without a status flip require a separate manifest-only PR with human review — this is that PR. --------- Co-authored-by: Ibuki 🍃 — a wind born from GPTs <Ibuki-wind@users.noreply.github.com> (cherry picked from commit 67e10ad)
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the tileops/manifest/elementwise_binary.yaml file by adding standard workloads to a wide range of element-wise binary operations, including arithmetic, comparison, logical, and bitwise operators. Each operation now includes 'hidden-state-prefill' and 'cnn-feat-broadcast' workloads with appropriate shapes and data types. Since no review comments were provided, I have no feedback to offer.
There was a problem hiding this comment.
Pull request overview
This PR cherry-picks a manifest-only fix onto main by populating previously-empty workloads: lists for a set of implemented binary elementwise ops, unblocking CI checks that require at least two workloads per non–spec-only op.
Changes:
- Add two representative workloads (no-broadcast + broadcast) to 21 implemented binary elementwise ops in the manifest.
- Ensure the workloads cover common shape patterns (LLM hidden-state prefill and CNN feature-map broadcast) across arithmetic, comparison, logical, and bitwise ops.
Ibuki-wind
approved these changes
May 9, 2026
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
Cherry-pick of #1392 (already merged to
testbedas67e10ad) ontomain.mainCI is currently red because it lacks this manifest fix. Landing the same patch onmaindirectly unblocks CI without waiting for the nexttestbed→mainrollup.Why this is conflict-safe for the eventual testbed → main merge
The cherry-pick is byte-identical to
67e10ad. Whentestbedlater merges intomain, the 3-way merge sees the same change on both sides and resolves automatically — no duplicate diff, no conflict (assuming no furthertestbedcommits touch the same lines).Test plan
mainunit tests pass