Skip to content

Allow LLVM.jl 10 - #205

Open
maleadt wants to merge 1 commit into
masterfrom
tb/llvm10
Open

maleadt wants to merge 1 commit into
masterfrom
tb/llvm10

Conversation

@maleadt

@maleadt maleadt commented Oct 3, 2026

Copy link
Copy Markdown
Member

Allows LLVM.jl 10. GemmKernels only uses LLVM.Interop's unsafe_load and unsafe_store! on Core.LLVMPtr, which LLVM.jl 10 keeps. using LLVM moves from Operator, where it was unused, to Layout, which needs it.

Tested with CUDA.jl on LLVM.jl 10: the full suite on Julia 1.12 and a subset on 1.11 give the same results as before.

Requires a CUDA.jl release with LLVM.jl 10 support (JuliaGPU/CUDA.jl#3323).


Disclaimer: this PR is AI-assisted and has not been reviewed in detail. Tests pass locally, so it should be a good starting point for a maintainer to complete the upgrade.

GemmKernels uses no LLVM.jl API besides LLVM.Interop's unsafe_load
and unsafe_store! methods on Core.LLVMPtr (in the vectorized loads and
stores of the Layout module), which are unchanged in LLVM.jl 10. The
`using LLVM` in the Operator module was unused; move the import to
the Layout module, which is what depends on it. unsafe_store! on
a Core.LLVMPtr now returns the pointer instead of nothing, which
vstorea! passes on but no caller uses.
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