Skip to content

[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
lcy-seso:fix/manifest-1392-to-main
May 9, 2026
Merged

[Fix][Manifest] add at least 2 workloads to 21 binary elementwise ops (cherry-pick #1392)#1395
Ibuki-wind merged 1 commit intotile-ai:mainfrom
lcy-seso:fix/manifest-1392-to-main

Conversation

@lcy-seso
Copy link
Copy Markdown
Collaborator

@lcy-seso lcy-seso commented May 9, 2026

Summary

Cherry-pick of #1392 (already merged to testbed as 67e10ad) onto main.

main CI is currently red because it lacks this manifest fix. Landing the same patch on main directly unblocks CI without waiting for the next testbedmain rollup.

Why this is conflict-safe for the eventual testbed → main merge

The cherry-pick is byte-identical to 67e10ad. When testbed later merges into main, the 3-way merge sees the same change on both sides and resolves automatically — no duplicate diff, no conflict (assuming no further testbed commits touch the same lines).

Test plan

  • CI green on this PR
  • After merge, confirm main unit tests pass

…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)
@lcy-seso lcy-seso requested review from a team and Copilot May 9, 2026 03:45
@github-actions github-actions Bot added the fix Auto-created by issue labeler label May 9, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Ibuki-wind merged commit 1cae8d8 into tile-ai:main May 9, 2026
16 checks passed
@lcy-seso lcy-seso deleted the fix/manifest-1392-to-main branch May 9, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix Auto-created by issue labeler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants