Add tile-indexed atomic operations#96
Merged
maleadt merged 6 commits intoJuliaGPU:mainfrom Mar 2, 2026
Merged
Conversation
Member
|
I didn't like the duplication between tile-based and scalar intrinsnics, so pushed something that differentiates based on theh |
0353a1a to
f149b52
Compare
Replace 6 intrinsics (3 scalar + 3 tile) with 3 unified ones that take
(ptr_tile, val, mask, ...) matching Python cuTile's design. Both paths
now compute pointers via Intrinsics.offset in the language layer, with
mask=nothing for scalar indices (no mask in bytecode) and Tile{Bool} for
tile-indexed (bounds mask passed through).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move scalar-to-tile conversion from the intrinsic layer to the language
layer: atomic_tfunc and emit functions now always return Tile{T, S}
(even for 0D), and scalar atomic methods unwrap via Intrinsics.to_scalar().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
f149b52 to
ffd18ff
Compare
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.
Supercedes #51, although I'd still like a nice user-facing tile-space interface like that one added in addition to tile-indexed atomic operations. This PR gives parity with Python for the 3 currently supported operations.
See #50