Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ steps:
version:
- "1.10"
- "1.11"
- "1.12"
- "1.13"
plugins:
- JuliaCI/julia#v1:
version: "{{matrix.version}}"
Expand All @@ -14,8 +16,7 @@ steps:
julia -e 'println("--- :julia: Instantiating project")
using Pkg
Pkg.develop(; path=pwd())
Pkg.develop(; name="CUDA")' || exit 3

Pkg.add(url="https://github.com/eschnett/CUDA.jl", rev="eschnett/julia-1.13")' || exit 3
julia -e 'println("+++ :julia: Running tests")
using Pkg
Pkg.test("CUDA"; coverage=true, test_args=["base/kernelabstractions"])'
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ jobs:
- '1.8'
- '1.9'
- '1.10'
- '~1.11.0-0'
- '1.11'
- '1.12'
- '1.13-nightly'
os:
- ubuntu-latest
- macOS-latest
Expand Down
12 changes: 10 additions & 2 deletions test/compiler.jl
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,19 @@ end
A[1] = Base.Checked.checked_add(a, b)
end

@static if VERSION > v"1.12"
const MethodOrCodeInstance = Core.CodeInstance
_getname(mi) = mi.def.def.name
else
const MethodOrCodeInstance = Core.MethodInstance
_getname(mi) = mi.def.name
end

function check_for_overdub(stmt)
if stmt isa Expr
if stmt.head == :invoke
mi = first(stmt.args)::Core.MethodInstance
if mi.def.name === :overdub
mi = first(stmt.args)::MethodOrCodeInstance
if _getname(mi) === :overdub
@show stmt
return true
end
Expand Down
5 changes: 3 additions & 2 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ if Base.JLOptions().check_bounds == 0 || Base.JLOptions().check_bounds == 1
end

if Base.JLOptions().check_bounds == 0 || Base.JLOptions().check_bounds == 2
@kernel inbounds = true function my_bounded_kernel(a)
@kernel inbounds = true function my_inbounds_kernel(a)
idx = @index(Global, Linear)
a[idx] = 0
end
Expand Down Expand Up @@ -73,7 +73,8 @@ struct NewBackend <: KernelAbstractions.GPU end
end

include("extensions/enzyme.jl")
@static if VERSION >= v"1.7.0"
# The Enzyme tests fail with Julia 1.13. They also fail with Julia 1.12 on Windows.
@static if VERSION >= v"1.7.0" && VERSION < v"1.13-" && !(Sys.iswindows() && VERSION >= v"1.12-")
@testset "Enzyme" begin
enzyme_testsuite(CPU, Array)
end
Expand Down
6 changes: 5 additions & 1 deletion test/test.jl
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,11 @@ function unittest_testsuite(Backend, backend_str, backend_mod, BackendArrayT; sk
@test occursin("!alias.scope", IR)
@test occursin("!noalias", IR)
elseif backend_str == "CUDA"
@test occursin("@llvm.nvvm.ldg", IR)
if Base.libllvm_version >= v"20"
@test occursin("addrspace(1)", IR)
else
@test occursin("@llvm.nvvm.ldg", IR)
end
elseif backend_str == "ROCM"
@test occursin("addrspace(4)", IR)
else
Expand Down
Loading