Skip to content

CI: test the back ends' ka-0.10 branches - #819

Merged
maleadt merged 1 commit into
mainfrom
tb/ci-ka010
Oct 2, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/ci-ka010

Conversation

@maleadt

@maleadt maleadt commented Oct 2, 2026

Copy link
Copy Markdown
Member

The Buildkite jobs that run the GPU back ends' KernelAbstractions and KernelInterface tests still install the old port branches (intrinsics, kaintr, and Christian's forks for oneAPI and AMDGPU). Those require KernelInterface 0.2/0.3, so none of them installs against main anymore: every back-end job exits with status 3 and soft-fails, and nothing tests the back ends against KA main.

This points the jobs at the ka-0.10 branches, where each back end implements KernelInterface 0.4 and ports its KA layer to the generic launch: JuliaGPU/CUDA.jl#3314, JuliaGPU/Metal.jl#994, JuliaGPU/oneAPI.jl#653, JuliaGPU/AMDGPU.jl#1117 and JuliaGPU/OpenCL.jl#519.

Every job should now install. A job that still soft-fails with exit status 3 means that branch's compat or [sources] is wrong. oneAPI and AMDGPU are expected to keep failing until they drop their AcceleratedKernels dependency, which currently doesn't allow KA 0.10.

@github-actions

github-actions Bot commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Show table
main 1511061... main / 1511061...
const/@Const/Float32/262144 0.185 ± 0.024 ms 0.187 ± 0.025 ms 0.991 ± 0.18
const/@Const/Float32/65536 0.0965 ± 0.022 ms 0.0971 ± 0.021 ms 0.994 ± 0.32
const/@Const/Float64/262144 0.301 ± 0.019 ms 0.301 ± 0.023 ms 1 ± 0.099
const/@Const/Float64/65536 0.13 ± 0.019 ms 0.13 ± 0.019 ms 1 ± 0.21
const/unmarked/Float32/262144 0.29 ± 0.026 ms 0.263 ± 0.013 ms 1.1 ± 0.11
const/unmarked/Float32/65536 0.109 ± 0.021 ms 0.111 ± 0.021 ms 0.984 ± 0.27
const/unmarked/Float64/262144 0.448 ± 0.028 ms 0.449 ± 0.028 ms 0.997 ± 0.088
const/unmarked/Float64/65536 0.157 ± 0.018 ms 0.161 ± 0.012 ms 0.973 ± 0.13
launch/3D static workgroup, dynamic ndrange 16.9 ± 12 μs 16.4 ± 9.1 μs 1.03 ± 0.93
launch/3D static workgroup, static ndrange 17.1 ± 14 μs 16.5 ± 11 μs 1.04 ± 1.1
launch/dynamic workgroup, dynamic ndrange 31 ± 36 μs 0.0316 ± 0.037 ms 0.98 ± 1.6
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 0.0316 ± 0.036 ms 0.0323 ± 0.037 ms 0.98 ± 1.6
launch/static workgroup, dynamic ndrange 22.5 ± 33 μs 22.7 ± 34 μs 0.988 ± 2.1
launch/static workgroup, static ndrange 21.5 ± 31 μs 22.6 ± 34 μs 0.954 ± 2
partition/dynamic workgroup, dynamic ndrange 0.0548 ± 0.0019 μs 0.0535 ± 0.0019 μs 1.02 ± 0.052
partition/static workgroup, dynamic ndrange 0.0489 ± 0.011 μs 0.0493 ± 0.011 μs 0.992 ± 0.32
partition/static workgroup, static ndrange 1.35 ± 0 ns 1.35 ± 0 ns 1 ± 0
saxpy/default/Float16/1024 15.6 ± 1.7 μs 15.8 ± 1.7 μs 0.992 ± 0.15
saxpy/default/Float16/1048576 0.183 ± 0.016 ms 0.184 ± 0.015 ms 0.999 ± 0.12
saxpy/default/Float16/16384 0.0552 ± 0.045 ms 0.047 ± 0.044 ms 1.18 ± 1.5
saxpy/default/Float16/2048 15.4 ± 1.1 μs 15.8 ± 0.98 μs 0.976 ± 0.092
saxpy/default/Float16/256 21.3 ± 32 μs 22.4 ± 34 μs 0.95 ± 2
saxpy/default/Float16/262144 0.0952 ± 0.026 ms 0.0938 ± 0.024 ms 1.01 ± 0.38
saxpy/default/Float16/32768 0.0593 ± 0.045 ms 0.0584 ± 0.044 ms 1.01 ± 1.1
saxpy/default/Float16/4096 15.3 ± 2.4 μs 15.7 ± 2.2 μs 0.978 ± 0.2
saxpy/default/Float16/512 16.6 ± 10 μs 21.9 ± 33 μs 0.76 ± 1.2
saxpy/default/Float16/64 22.5 ± 32 μs 22.8 ± 35 μs 0.987 ± 2.1
saxpy/default/Float16/65536 0.0577 ± 0.027 ms 0.0591 ± 0.027 ms 0.977 ± 0.63
saxpy/default/Float32/1024 15.3 ± 1.1 μs 15.5 ± 1.4 μs 0.983 ± 0.11
saxpy/default/Float32/1048576 0.171 ± 0.015 ms 0.179 ± 0.017 ms 0.957 ± 0.13
saxpy/default/Float32/16384 15.3 ± 4.1 μs 16.4 ± 5.7 μs 0.935 ± 0.41
saxpy/default/Float32/2048 15.1 ± 1.2 μs 15.3 ± 1.1 μs 0.984 ± 0.1
saxpy/default/Float32/256 22 ± 33 μs 23.1 ± 35 μs 0.952 ± 2
saxpy/default/Float32/262144 0.0924 ± 0.018 ms 0.0924 ± 0.018 ms 1 ± 0.28
saxpy/default/Float32/32768 25.2 ± 44 μs 0.0543 ± 0.044 ms 0.463 ± 0.89
saxpy/default/Float32/4096 14.6 ± 1.5 μs 15.1 ± 1.5 μs 0.966 ± 0.14
saxpy/default/Float32/512 16 ± 11 μs 15.7 ± 2.6 μs 1.02 ± 0.71
saxpy/default/Float32/64 23 ± 33 μs 23.4 ± 36 μs 0.98 ± 2
saxpy/default/Float32/65536 0.0666 ± 0.029 ms 0.065 ± 0.028 ms 1.03 ± 0.63
saxpy/default/Float64/1024 14.7 ± 1.1 μs 15.3 ± 0.78 μs 0.959 ± 0.089
saxpy/default/Float64/1048576 0.299 ± 0.028 ms 0.32 ± 0.039 ms 0.934 ± 0.14
saxpy/default/Float64/16384 0.0497 ± 0.044 ms 0.0532 ± 0.045 ms 0.933 ± 1.1
saxpy/default/Float64/2048 14.7 ± 1.2 μs 15.1 ± 1.4 μs 0.97 ± 0.12
saxpy/default/Float64/256 15.4 ± 1.5 μs 15.7 ± 2.1 μs 0.978 ± 0.16
saxpy/default/Float64/262144 0.119 ± 0.015 ms 0.12 ± 0.013 ms 0.991 ± 0.17
saxpy/default/Float64/32768 0.0672 ± 0.028 ms 0.067 ± 0.028 ms 1 ± 0.59
saxpy/default/Float64/4096 14.7 ± 2.9 μs 15.2 ± 3.5 μs 0.971 ± 0.3
saxpy/default/Float64/512 15.3 ± 2 μs 15.4 ± 1.6 μs 0.989 ± 0.17
saxpy/default/Float64/64 21 ± 30 μs 22.4 ± 34 μs 0.938 ± 2
saxpy/default/Float64/65536 0.0753 ± 0.025 ms 0.0766 ± 0.024 ms 0.984 ± 0.45
saxpy/static workgroup=(1024,)/Float16/1024 15.6 ± 1.8 μs 16 ± 9 μs 0.978 ± 0.56
saxpy/static workgroup=(1024,)/Float16/1048576 0.187 ± 0.016 ms 0.184 ± 0.015 ms 1.02 ± 0.12
saxpy/static workgroup=(1024,)/Float16/16384 0.0544 ± 0.045 ms 0.0442 ± 0.044 ms 1.23 ± 1.6
saxpy/static workgroup=(1024,)/Float16/2048 15.5 ± 1.1 μs 15.6 ± 0.87 μs 0.994 ± 0.091
saxpy/static workgroup=(1024,)/Float16/256 23.6 ± 35 μs 23.5 ± 36 μs 1 ± 2.1
saxpy/static workgroup=(1024,)/Float16/262144 0.0929 ± 0.023 ms 0.0933 ± 0.023 ms 0.997 ± 0.35
saxpy/static workgroup=(1024,)/Float16/32768 0.0615 ± 0.044 ms 0.0595 ± 0.044 ms 1.03 ± 1.1
saxpy/static workgroup=(1024,)/Float16/4096 15.2 ± 1.4 μs 15.5 ± 2.4 μs 0.975 ± 0.17
saxpy/static workgroup=(1024,)/Float16/512 17.4 ± 28 μs 19.9 ± 33 μs 0.875 ± 2
saxpy/static workgroup=(1024,)/Float16/64 23.6 ± 34 μs 24.2 ± 37 μs 0.974 ± 2
saxpy/static workgroup=(1024,)/Float16/65536 0.065 ± 0.027 ms 0.0625 ± 0.026 ms 1.04 ± 0.61
saxpy/static workgroup=(1024,)/Float32/1024 15.4 ± 1.9 μs 20.6 ± 41 μs 0.748 ± 1.5
saxpy/static workgroup=(1024,)/Float32/1048576 0.173 ± 0.017 ms 0.173 ± 0.016 ms 1 ± 0.13
saxpy/static workgroup=(1024,)/Float32/16384 17.3 ± 39 μs 16.8 ± 14 μs 1.03 ± 2.5
saxpy/static workgroup=(1024,)/Float32/2048 14.8 ± 0.98 μs 15 ± 1 μs 0.984 ± 0.093
saxpy/static workgroup=(1024,)/Float32/256 23.2 ± 35 μs 22.6 ± 34 μs 1.03 ± 2.2
saxpy/static workgroup=(1024,)/Float32/262144 0.092 ± 0.018 ms 0.093 ± 0.018 ms 0.989 ± 0.27
saxpy/static workgroup=(1024,)/Float32/32768 0.0576 ± 0.045 ms 0.0545 ± 0.044 ms 1.06 ± 1.2
saxpy/static workgroup=(1024,)/Float32/4096 15.2 ± 2.5 μs 18.5 ± 38 μs 0.826 ± 1.7
saxpy/static workgroup=(1024,)/Float32/512 15.8 ± 7.7 μs 15.8 ± 6.3 μs 0.999 ± 0.63
saxpy/static workgroup=(1024,)/Float32/64 23.9 ± 35 μs 24.3 ± 36 μs 0.985 ± 2.1
saxpy/static workgroup=(1024,)/Float32/65536 0.0682 ± 0.029 ms 0.0673 ± 0.028 ms 1.01 ± 0.6
saxpy/static workgroup=(1024,)/Float64/1024 15.5 ± 1.7 μs 15.2 ± 1.5 μs 1.01 ± 0.15
saxpy/static workgroup=(1024,)/Float64/1048576 0.319 ± 0.036 ms 0.313 ± 0.031 ms 1.02 ± 0.15
saxpy/static workgroup=(1024,)/Float64/16384 0.0565 ± 0.045 ms 0.0523 ± 0.044 ms 1.08 ± 1.2
saxpy/static workgroup=(1024,)/Float64/2048 14.7 ± 1.4 μs 15 ± 1.3 μs 0.979 ± 0.13
saxpy/static workgroup=(1024,)/Float64/256 17.3 ± 34 μs 18.1 ± 38 μs 0.955 ± 2.8
saxpy/static workgroup=(1024,)/Float64/262144 0.12 ± 0.015 ms 0.119 ± 0.014 ms 1 ± 0.17
saxpy/static workgroup=(1024,)/Float64/32768 0.0676 ± 0.028 ms 0.0672 ± 0.028 ms 1.01 ± 0.59
saxpy/static workgroup=(1024,)/Float64/4096 14.7 ± 2.6 μs 15 ± 3.4 μs 0.977 ± 0.28
saxpy/static workgroup=(1024,)/Float64/512 16 ± 8.7 μs 16.1 ± 33 μs 0.993 ± 2.1
saxpy/static workgroup=(1024,)/Float64/64 23.9 ± 35 μs 24.2 ± 36 μs 0.989 ± 2.1
saxpy/static workgroup=(1024,)/Float64/65536 0.0758 ± 0.023 ms 0.0754 ± 0.022 ms 1.01 ± 0.43
time_to_load 0.676 ± 0.0045 s 0.724 ± 0.017 s 0.933 ± 0.022
main 1511061... main / 1511061...
const/@Const/Float32/262144 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/@Const/Float32/65536 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/@Const/Float64/262144 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/@Const/Float64/65536 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/unmarked/Float32/262144 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/unmarked/Float32/65536 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/unmarked/Float64/262144 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
const/unmarked/Float64/65536 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
launch/3D static workgroup, dynamic ndrange 9 allocs: 0.219 kB 9 allocs: 0.219 kB 1
launch/3D static workgroup, static ndrange 9 allocs: 0.219 kB 9 allocs: 0.219 kB 1
launch/dynamic workgroup, dynamic ndrange 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
launch/static workgroup, dynamic ndrange 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
launch/static workgroup, static ndrange 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
partition/dynamic workgroup, dynamic ndrange 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
partition/static workgroup, dynamic ndrange 2 allocs: 32 B 2 allocs: 32 B 1
partition/static workgroup, static ndrange 0 allocs: 0 B 0 allocs: 0 B
saxpy/default/Float16/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/1048576 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float16/262144 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float16/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float16/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/1048576 12 allocs: 0.25 kB 12 allocs: 0.25 kB 1
saxpy/default/Float32/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float32/262144 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float32/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float32/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/1048576 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float64/262144 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/default/Float64/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/1048576 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float16/262144 12 allocs: 0.25 kB 12 allocs: 0.25 kB 1
saxpy/static workgroup=(1024,)/Float16/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float16/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/1048576 8 allocs: 0.141 kB 12 allocs: 0.25 kB 0.562
saxpy/static workgroup=(1024,)/Float32/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float32/262144 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float32/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float32/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/1048576 12 allocs: 0.25 kB 12 allocs: 0.25 kB 1
saxpy/static workgroup=(1024,)/Float64/16384 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/2048 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/256 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float64/262144 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/32768 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/4096 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/512 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float64/64 5 allocs: 0.0938 kB 5 allocs: 0.0938 kB 1
saxpy/static workgroup=(1024,)/Float64/65536 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
time_to_load 0.2 k allocs: 11.8 kB 0.2 k allocs: 11.8 kB 1

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@maleadt

maleadt commented Oct 2, 2026

Copy link
Copy Markdown
Member Author

oneAPI.jl and AMDGPU.jl failure expected since they rely on AK.jl. That move requires a GPUArrays.jl break.

@maleadt
maleadt merged commit 2e027f0 into main Oct 2, 2026
69 of 71 checks passed
@maleadt
maleadt deleted the tb/ci-ka010 branch October 2, 2026 15:45
@codecov

codecov Bot commented Oct 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.46%. Comparing base (a137d0f) to head (1511061).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #819      +/-   ##
==========================================
+ Coverage   70.04%   70.46%   +0.41%     
==========================================
  Files          27       27              
  Lines        2207     2194      -13     
==========================================
  Hits         1546     1546              
+ Misses        661      648      -13     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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