Skip to content
Merged

1.12 #391

Show file tree
Hide file tree
Changes from 11 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
2 changes: 1 addition & 1 deletion .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ steps:
- label: "CUDA"
plugins:
- JuliaCI/julia#v1:
version: "1.11"
version: "1.12"
- JuliaCI/julia-coverage#v1:
codecov: true
commands: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
version: ['1.10', '1.11']
version: ['1.10', '1.11', '1.12']
os: [ubuntu-24.04, ubuntu-24.04-arm, macOS-15, macOS-15-intel, windows-2025]
arch: [x64, arm64]
pocl: [jll, local]
Expand Down
9 changes: 9 additions & 0 deletions src/device/quirks.jl
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,12 @@ end
@print_and_throw "Out-of-bounds access of scalar value"
x
end

# From Metal.jl to avoid widemul and Int128
@static if VERSION >= v"1.12.0-DEV.1736" # Partially reverts JuliaLang/julia PR #56750
BitInteger64 = Union{Int64, UInt64}
@device_override function Base.checkbounds(::Type{Bool}, v::StepRange{<:BitInteger64, <:BitInteger64}, i::BitInteger64)
@inline
return checkindex(Bool, eachindex(IndexLinear(), v), i)
end
end
12 changes: 10 additions & 2 deletions test/device.jl
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,19 @@
:max_image3d_shape,
]
@test isa(cl.platform(), cl.Platform)
@test_throws ErrorException cl.platform().zjdlkf
if isdefined(Core, :FieldError) # VERSION > v"1.12.0-"
@test_throws FieldError cl.platform().zjdlkf
else
@test_throws ErrorException cl.platform().zjdlkf
end

device = cl.device()
@test isa(device, cl.Device)
@test_throws ErrorException device.zjdlkf
if isdefined(Core, :FieldError) # VERSION > v"1.12.0-"
@test_throws FieldError device.zjdlkf
else
@test_throws ErrorException device.zjdlkf
end
for k in device_info_keys
v = getproperty(device, k)
if k == :extensions
Expand Down
8 changes: 4 additions & 4 deletions test/setup.jl
Copy link
Member

Choose a reason for hiding this comment

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

We don't want to disable Float16 tests for the local pocl builds though, those should actually pass

Copy link
Member Author

Choose a reason for hiding this comment

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

Tests are still failing which is what I was testing

Copy link
Member

@simeonschaub simeonschaub Oct 20, 2025

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

That's only on 1.10 and 1.11 though, not 1.12

Copy link
Member

@simeonschaub simeonschaub Oct 20, 2025

Choose a reason for hiding this comment

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

Yes, but the 1.12 failures are not due to Float16, they're #384 as I wrote earlier. Once the SPIRV-LLVM-Backend jll has been registered we can retrigger CI

Copy link
Member Author

Choose a reason for hiding this comment

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

Ok I understand now thank you for bearing with me. I'll push a change to skip float16 only on pocl_jll and to revert to using spirv_llvm_translator as soon as it's registered

Copy link
Member

Choose a reason for hiding this comment

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

Sorry, I meant SPIRV-LLVM-Backend, not translator, so that part is already correct. I was just experimenting with the khronos translator, but it's still pretty broken atm

Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ function GPUArraysTestSuite.supported_eltypes(::Type{<:CLArray})
push!(types, Float64)
push!(types, ComplexF64)
end
if "cl_khr_fp16" in cl.device().extensions
push!(types, Float16)
push!(types, ComplexF16)
end
# if "cl_khr_fp16" in cl.device().extensions
# push!(types, Float16)
# push!(types, ComplexF16)
# end
return types
end
end
Expand Down
Loading