Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Validation tests for early eval errors in subgroup builtins #4065

Merged
merged 3 commits into from
Nov 29, 2024

Conversation

alan-baker
Copy link
Contributor

  • subgroupBroadcast and quadBroadcast id must be in range [0, 128)
  • subgroupShuffleUp, subgroupShuffleDown, subgroupShuffleXor mask/delta must be less than 128 for const/override

Note: the shuffle parameters are required to be u32, so negative values are impossible.

Issue: #


Requirements for PR author:

  • All missing test coverage is tracked with "TODO" or .unimplemented().
  • New helpers are /** documented */ and new helper files are found in helper_index.txt.
  • Test behaves as expected in a WebGPU implementation. (If not passing, explain above.)
  • Test have be tested with compatibility mode validation enabled and behave as expected. (If not passing, explain above.)

Requirements for reviewer sign-off:

  • Tests are properly located in the test tree.
  • Test descriptions allow a reader to "read only the test plans and evaluate coverage completeness", and accurately reflect the test code.
  • Tests provide complete coverage (including validation control cases). Missing coverage MUST be covered by TODOs.
  • Helpers and types promote readability and maintainability.

When landing this PR, be sure to make any necessary issue status updates.

@alan-baker alan-baker changed the title Validation tests for early eval errors Validation tests for early eval errors in subgroup builtins Nov 27, 2024
copybara-service bot pushed a commit to google/dawn that referenced this pull request Nov 28, 2024
This covers the functions subgroupShuffle, subgroupShuffleUp,
subgroupShuffleDown, and subgroupShuffleXor.

There is a CTS in the works:
gpuweb/cts#4065


Bug: 380862306
Change-Id: I0077557f62b4140bcbdd8601cbe6bc0a1933cf56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/217074
Reviewed-by: dan sinclair <[email protected]>
Commit-Queue: Peter McNeeley <[email protected]>
Copy link
Contributor

@dneto0 dneto0 left a comment

Choose a reason for hiding this comment

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

LGTM.
Thanks

* subgroupBroadcast and quadBroadcast id must be in range [0, 128)
* subgroupShuffleUp, subgroupShuffleDown, subgroupShuffleXor mask/delta
  must be less than 128 for const/override
* Add negative value test for subgroupShuffle
@alan-baker alan-baker enabled auto-merge (squash) November 29, 2024 19:14
Copy link
Contributor

@petermcneeleychromium petermcneeleychromium left a comment

Choose a reason for hiding this comment

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

lets get this in. I can resolve potential issues on the dawn side in combination with my recent changes.
My concern here is if the Overrides are going to work correctly.

@alan-baker alan-baker merged commit ecb8816 into gpuweb:main Nov 29, 2024
1 check passed
@alan-baker alan-baker deleted the subgroup-param-eval branch November 29, 2024 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

4 participants