Skip to content

[metal] Add Metal codegen handlers for load, store, and mask_to#1854

Merged
aditvenk merged 1 commit intomainfrom
aditvenk/stack/20
Apr 9, 2026
Merged

[metal] Add Metal codegen handlers for load, store, and mask_to#1854
aditvenk merged 1 commit intomainfrom
aditvenk/stack/20

Conversation

@aditvenk
Copy link
Copy Markdown
Contributor

@aditvenk aditvenk commented Mar 27, 2026

Stacked PRs:


[metal] Add Metal codegen handlers for load, store, and mask_to

Add @_decorators.codegen handlers for the Metal backend:

  • load("metal"): delegates to PointerIndexingStrategy.codegen_load
  • store("metal"): delegates to PointerIndexingStrategy.codegen_store
  • _mask_to("metal"): applies tile masks via IfExp

@aditvenk aditvenk force-pushed the aditvenk/stack/19 branch from b3e1da8 to e8fe296 Compare March 27, 2026 22:35
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from fcdc04d to 9051e3d Compare March 27, 2026 22:35
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Mar 27, 2026
@aditvenk aditvenk marked this pull request as draft March 27, 2026 22:47
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 27, 2026 22:47
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from 9051e3d to 39be6fc Compare March 27, 2026 22:48
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 27, 2026 22:48
@aditvenk aditvenk marked this pull request as ready for review March 27, 2026 22:48
@aditvenk aditvenk requested review from jansel and oulgen March 27, 2026 22:54
@aditvenk aditvenk marked this pull request as draft March 28, 2026 00:11
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 00:11
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from 39be6fc to d4742e4 Compare March 28, 2026 00:12
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 00:13
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 00:14
@aditvenk aditvenk marked this pull request as draft March 28, 2026 01:23
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 01:23
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from d4742e4 to ebc77e3 Compare March 28, 2026 01:24
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 01:26
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 01:26
@aditvenk aditvenk marked this pull request as draft March 28, 2026 01:37
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 01:37
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from 362154b to 665a413 Compare March 28, 2026 02:45
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 02:45
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 02:45
@aditvenk aditvenk marked this pull request as draft March 28, 2026 04:44
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 04:44
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from 665a413 to 22b55f9 Compare March 28, 2026 04:44
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 04:45
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 04:45
@aditvenk aditvenk marked this pull request as draft March 28, 2026 04:47
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 04:47
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from 22b55f9 to b92b019 Compare March 28, 2026 04:47
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 04:47
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 04:48
@aditvenk aditvenk marked this pull request as draft March 28, 2026 06:46
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 06:46
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from b92b019 to da3554f Compare March 28, 2026 06:46
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 06:46
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 06:47
@aditvenk aditvenk marked this pull request as draft March 28, 2026 17:18
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 28, 2026 17:18
@aditvenk aditvenk changed the base branch from main to aditvenk/stack/19 March 28, 2026 17:19
@aditvenk aditvenk marked this pull request as ready for review March 28, 2026 17:19
Copy link
Copy Markdown
Contributor

@jansel jansel left a comment

Choose a reason for hiding this comment

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

Is there test coverage for this?

@aditvenk
Copy link
Copy Markdown
Contributor Author

In follow-up PR in the stack: #1794 (copy kernels)
and #1796 (elementwise operators)

@aditvenk aditvenk marked this pull request as draft March 31, 2026 04:49
@aditvenk aditvenk changed the base branch from aditvenk/stack/19 to main March 31, 2026 04:49
@aditvenk aditvenk force-pushed the aditvenk/stack/20 branch from da3554f to b7cb9eb Compare March 31, 2026 04:50
Add @_decorators.codegen handlers for the Metal backend:
- load("metal"): delegates to PointerIndexingStrategy.codegen_load
- store("metal"): delegates to PointerIndexingStrategy.codegen_store
- _mask_to("metal"): applies tile masks via IfExp

stack-info: PR: #1854, branch: aditvenk/stack/20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants