Skip to content

Leave the AIR legalization of simdgroup and tensor intrinsics to GPUCompiler - #1096

Closed
maleadt wants to merge 2 commits into
mainfrom
tb/intrinsic-abi
Closed

maleadt wants to merge 2 commits into
mainfrom
tb/intrinsic-abi

Conversation

@maleadt

@maleadt maleadt commented Oct 21, 2026

Copy link
Copy Markdown
Member

JuliaGPU/GPUCompiler.jl#1046 moves the AIR-version legalization of the simdgroup matrix load/store and tensor intrinsics into GPUCompiler's AIR lowering, next to the barrier and atomic intrinsics. This removes Metal.jl's copy from its finish_ir! override, along with the arg_eltypes metadata for the simdgroup matrix pointer operands, which GPUCompiler now derives too. Device code keeps emitting the newest form of each intrinsic.

Draft until GPUCompiler.jl#1046 is released; the last commit gets GPUCompiler from that branch and will be replaced by a compat bump.

device/intrinsics/simd, linalg and bfloat16 pass on an M1 with macOS 27 on Julia 1.10 and 1.13, including the simdgroup matrix kernels compiled and run at macos=v"15" (AIR 2.7) and the tensor extent query at macos=v"26" (AIR 2.8).

…GPUCompiler

GPUCompiler now rewrites the simdgroup matrix load/store and tensor
intrinsics for older AIR versions during AIR lowering, next to the barrier
and atomic intrinsics, and tells the downgrader the element type of the
simdgroup matrix pointer operand.
@maleadt

maleadt commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

Closing along with JuliaGPU/GPUCompiler.jl#1046; the legalization stays here.

@maleadt maleadt closed this Oct 21, 2026
@maleadt
maleadt deleted the tb/intrinsic-abi branch October 21, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant