Skip to content

Remove a quirk that never applies - #789

Merged
christiangnrd merged 1 commit into
mainfrom
tb/dead-quirks
Sep 23, 2026
Merged

christiangnrd merged 1 commit into
mainfrom
tb/dead-quirks

Conversation

@maleadt

@maleadt maleadt commented Sep 23, 2026

Copy link
Copy Markdown
Member

Base.Checked.throw_overflowerr_negation takes a single argument on every supported version of Julia (1.10 through nightly), so the three-argument override in the POCL back-end's quirks.jl never matched. Found by checking the signature of every method in the overlay method table against the methods in Base; this was the only one that doesn't match anything. The same dead override exists in the other back-ends, which get the same fix.

Base.Checked.throw_overflowerr_negation takes a single argument on every
supported version of Julia, so the three-argument override never matched.
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Show table
main 6d26566... main / 6d26566...
const/@Const/Float32/262144 0.339 ± 0.03 ms 0.343 ± 0.022 ms 0.988 ± 0.11
const/@Const/Float32/65536 0.123 ± 0.025 ms 0.134 ± 0.029 ms 0.921 ± 0.27
const/@Const/Float64/262144 0.425 ± 0.034 ms 0.428 ± 0.035 ms 0.994 ± 0.11
const/@Const/Float64/65536 0.157 ± 0.028 ms 0.149 ± 0.025 ms 1.06 ± 0.26
const/unmarked/Float32/262144 1.16 ± 0.037 ms 1.16 ± 0.038 ms 0.993 ± 0.045
const/unmarked/Float32/65536 0.326 ± 0.033 ms 0.329 ± 0.036 ms 0.99 ± 0.15
const/unmarked/Float64/262144 1.35 ± 0.034 ms 1.35 ± 0.036 ms 0.996 ± 0.037
const/unmarked/Float64/65536 0.394 ± 0.036 ms 0.372 ± 0.036 ms 1.06 ± 0.14
launch/3D static workgroup, dynamic ndrange 0.0714 ± 0.024 ms 0.0721 ± 0.024 ms 0.991 ± 0.47
launch/3D static workgroup, static ndrange 0.0727 ± 0.026 ms 0.0718 ± 0.022 ms 1.01 ± 0.48
launch/dynamic workgroup, dynamic ndrange 0.0748 ± 0.02 ms 0.0745 ± 0.023 ms 1 ± 0.41
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 0.0715 ± 0.025 ms 0.0708 ± 0.026 ms 1.01 ± 0.51
launch/static workgroup, dynamic ndrange 0.0709 ± 0.023 ms 0.0694 ± 0.028 ms 1.02 ± 0.54
launch/static workgroup, static ndrange 0.0721 ± 0.024 ms 0.0722 ± 0.024 ms 0.998 ± 0.47
partition/dynamic workgroup, dynamic ndrange 0.0631 ± 0.0011 μs 0.0586 ± 0.0014 μs 1.08 ± 0.031
partition/static workgroup, dynamic ndrange 0.065 ± 0.012 μs 0.0649 ± 0.012 μs 1 ± 0.27
partition/static workgroup, static ndrange 2.47 ± 0.011 ns 1.55 ± 0.001 ns 1.59 ± 0.0072
saxpy/default/Float16/1024 0.0772 ± 0.0077 ms 0.077 ± 0.015 ms 1 ± 0.22
saxpy/default/Float16/1048576 0.782 ± 0.03 ms 0.787 ± 0.029 ms 0.995 ± 0.053
saxpy/default/Float16/16384 0.0648 ± 0.032 ms 0.073 ± 0.033 ms 0.887 ± 0.59
saxpy/default/Float16/2048 0.0785 ± 0.028 ms 0.0784 ± 0.024 ms 1 ± 0.47
saxpy/default/Float16/256 0.0758 ± 0.022 ms 0.0759 ± 0.017 ms 0.998 ± 0.37
saxpy/default/Float16/262144 0.239 ± 0.031 ms 0.246 ± 0.032 ms 0.969 ± 0.18
saxpy/default/Float16/32768 0.0748 ± 0.031 ms 0.0749 ± 0.032 ms 0.998 ± 0.59
saxpy/default/Float16/4096 0.0819 ± 0.03 ms 0.0822 ± 0.025 ms 0.995 ± 0.47
saxpy/default/Float16/512 0.0755 ± 0.019 ms 0.0758 ± 0.012 ms 0.996 ± 0.29
saxpy/default/Float16/64 0.0757 ± 0.013 ms 0.0756 ± 0.017 ms 1 ± 0.28
saxpy/default/Float16/65536 0.0954 ± 0.028 ms 0.0977 ± 0.029 ms 0.976 ± 0.41
saxpy/default/Float32/1024 0.0753 ± 0.013 ms 0.0766 ± 0.012 ms 0.982 ± 0.23
saxpy/default/Float32/1048576 0.498 ± 0.022 ms 0.506 ± 0.026 ms 0.985 ± 0.067
saxpy/default/Float32/16384 0.0574 ± 0.031 ms 0.0596 ± 0.031 ms 0.963 ± 0.73
saxpy/default/Float32/2048 0.0751 ± 0.029 ms 0.0756 ± 0.026 ms 0.993 ± 0.52
saxpy/default/Float32/256 0.0758 ± 0.016 ms 0.0756 ± 0.025 ms 1 ± 0.39
saxpy/default/Float32/262144 0.169 ± 0.03 ms 0.175 ± 0.031 ms 0.968 ± 0.24
saxpy/default/Float32/32768 0.0637 ± 0.029 ms 0.0651 ± 0.03 ms 0.979 ± 0.64
saxpy/default/Float32/4096 0.0694 ± 0.031 ms 0.0735 ± 0.029 ms 0.944 ± 0.56
saxpy/default/Float32/512 0.0748 ± 0.024 ms 0.0757 ± 0.016 ms 0.989 ± 0.38
saxpy/default/Float32/64 0.0749 ± 0.012 ms 0.0767 ± 0.016 ms 0.977 ± 0.26
saxpy/default/Float32/65536 0.0774 ± 0.029 ms 0.0808 ± 0.03 ms 0.958 ± 0.51
saxpy/default/Float64/1024 0.0755 ± 0.021 ms 0.0752 ± 0.018 ms 1 ± 0.37
saxpy/default/Float64/1048576 0.58 ± 0.094 ms 0.628 ± 0.12 ms 0.924 ± 0.23
saxpy/default/Float64/16384 0.0582 ± 0.029 ms 0.0581 ± 0.028 ms 1 ± 0.7
saxpy/default/Float64/2048 0.0757 ± 0.028 ms 0.0733 ± 0.031 ms 1.03 ± 0.58
saxpy/default/Float64/256 0.0756 ± 0.015 ms 0.0753 ± 0.018 ms 1 ± 0.31
saxpy/default/Float64/262144 0.178 ± 0.033 ms 0.186 ± 0.033 ms 0.959 ± 0.25
saxpy/default/Float64/32768 0.066 ± 0.028 ms 0.0686 ± 0.03 ms 0.962 ± 0.59
saxpy/default/Float64/4096 0.0683 ± 0.029 ms 0.0695 ± 0.027 ms 0.983 ± 0.57
saxpy/default/Float64/512 0.0758 ± 0.015 ms 0.0751 ± 0.019 ms 1.01 ± 0.33
saxpy/default/Float64/64 0.0766 ± 0.019 ms 0.0762 ± 0.02 ms 1 ± 0.36
saxpy/default/Float64/65536 0.084 ± 0.029 ms 0.0866 ± 0.03 ms 0.97 ± 0.48
saxpy/static workgroup=(1024,)/Float16/1024 0.0741 ± 0.017 ms 0.0727 ± 0.019 ms 1.02 ± 0.35
saxpy/static workgroup=(1024,)/Float16/1048576 0.781 ± 0.03 ms 0.782 ± 0.028 ms 0.999 ± 0.052
saxpy/static workgroup=(1024,)/Float16/16384 0.0628 ± 0.033 ms 0.0639 ± 0.033 ms 0.983 ± 0.72
saxpy/static workgroup=(1024,)/Float16/2048 0.0763 ± 0.029 ms 0.0753 ± 0.025 ms 1.01 ± 0.51
saxpy/static workgroup=(1024,)/Float16/256 0.0743 ± 0.017 ms 0.0719 ± 0.021 ms 1.03 ± 0.38
saxpy/static workgroup=(1024,)/Float16/262144 0.238 ± 0.031 ms 0.241 ± 0.031 ms 0.986 ± 0.18
saxpy/static workgroup=(1024,)/Float16/32768 0.0709 ± 0.03 ms 0.0716 ± 0.031 ms 0.991 ± 0.6
saxpy/static workgroup=(1024,)/Float16/4096 0.0779 ± 0.032 ms 0.0786 ± 0.027 ms 0.991 ± 0.53
saxpy/static workgroup=(1024,)/Float16/512 0.0747 ± 0.02 ms 0.0741 ± 0.018 ms 1.01 ± 0.37
saxpy/static workgroup=(1024,)/Float16/64 0.0731 ± 0.017 ms 0.0733 ± 0.021 ms 0.997 ± 0.37
saxpy/static workgroup=(1024,)/Float16/65536 0.0932 ± 0.028 ms 0.093 ± 0.028 ms 1 ± 0.42
saxpy/static workgroup=(1024,)/Float32/1024 0.0734 ± 0.021 ms 0.0724 ± 0.022 ms 1.01 ± 0.43
saxpy/static workgroup=(1024,)/Float32/1048576 0.486 ± 0.023 ms 0.486 ± 0.022 ms 1 ± 0.066
saxpy/static workgroup=(1024,)/Float32/16384 0.0553 ± 0.029 ms 0.0571 ± 0.031 ms 0.967 ± 0.73
saxpy/static workgroup=(1024,)/Float32/2048 0.0716 ± 0.028 ms 0.0724 ± 0.028 ms 0.989 ± 0.55
saxpy/static workgroup=(1024,)/Float32/256 0.0734 ± 0.019 ms 0.0722 ± 0.021 ms 1.02 ± 0.4
saxpy/static workgroup=(1024,)/Float32/262144 0.166 ± 0.028 ms 0.169 ± 0.029 ms 0.987 ± 0.24
saxpy/static workgroup=(1024,)/Float32/32768 0.0594 ± 0.026 ms 0.0609 ± 0.028 ms 0.976 ± 0.63
saxpy/static workgroup=(1024,)/Float32/4096 0.0688 ± 0.032 ms 0.0682 ± 0.03 ms 1.01 ± 0.65
saxpy/static workgroup=(1024,)/Float32/512 0.0729 ± 0.022 ms 0.0732 ± 0.02 ms 0.997 ± 0.4
saxpy/static workgroup=(1024,)/Float32/64 0.0738 ± 0.024 ms 0.0734 ± 0.021 ms 1.01 ± 0.43
saxpy/static workgroup=(1024,)/Float32/65536 0.0761 ± 0.029 ms 0.0766 ± 0.029 ms 0.994 ± 0.53
saxpy/static workgroup=(1024,)/Float64/1024 0.0724 ± 0.024 ms 0.0719 ± 0.021 ms 1.01 ± 0.44
saxpy/static workgroup=(1024,)/Float64/1048576 0.617 ± 0.12 ms 0.557 ± 0.06 ms 1.11 ± 0.24
saxpy/static workgroup=(1024,)/Float64/16384 0.0551 ± 0.028 ms 0.0568 ± 0.028 ms 0.97 ± 0.69
saxpy/static workgroup=(1024,)/Float64/2048 0.0722 ± 0.03 ms 0.0722 ± 0.028 ms 0.999 ± 0.57
saxpy/static workgroup=(1024,)/Float64/256 0.0738 ± 0.024 ms 0.0731 ± 0.022 ms 1.01 ± 0.44
saxpy/static workgroup=(1024,)/Float64/262144 0.186 ± 0.031 ms 0.186 ± 0.034 ms 0.999 ± 0.25
saxpy/static workgroup=(1024,)/Float64/32768 0.0639 ± 0.027 ms 0.0661 ± 0.029 ms 0.967 ± 0.59
saxpy/static workgroup=(1024,)/Float64/4096 0.0616 ± 0.029 ms 0.0675 ± 0.03 ms 0.913 ± 0.59
saxpy/static workgroup=(1024,)/Float64/512 0.0731 ± 0.02 ms 0.0734 ± 0.02 ms 0.996 ± 0.39
saxpy/static workgroup=(1024,)/Float64/64 0.0729 ± 0.022 ms 0.0734 ± 0.017 ms 0.992 ± 0.38
saxpy/static workgroup=(1024,)/Float64/65536 0.0838 ± 0.03 ms 0.0875 ± 0.031 ms 0.957 ± 0.48
time_to_load 0.812 ± 0.0046 s 0.837 ± 0.02 s 0.969 ± 0.023
main 6d26566... main / 6d26566...
const/@Const/Float32/262144 1 allocs: 16 B 1 allocs: 16 B 1
const/@Const/Float32/65536 1 allocs: 16 B 1 allocs: 16 B 1
const/@Const/Float64/262144 1 allocs: 16 B 1 allocs: 16 B 1
const/@Const/Float64/65536 1 allocs: 16 B 1 allocs: 16 B 1
const/unmarked/Float32/262144 1 allocs: 16 B 1 allocs: 16 B 1
const/unmarked/Float32/65536 1 allocs: 16 B 1 allocs: 16 B 1
const/unmarked/Float64/262144 1 allocs: 16 B 1 allocs: 16 B 1
const/unmarked/Float64/65536 1 allocs: 16 B 1 allocs: 16 B 1
launch/3D static workgroup, dynamic ndrange 5 allocs: 0.141 kB 5 allocs: 0.141 kB 1
launch/3D static workgroup, static ndrange 6 allocs: 0.172 kB 6 allocs: 0.172 kB 1
launch/dynamic workgroup, dynamic ndrange 15 allocs: 0.312 kB 15 allocs: 0.312 kB 1
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 1 allocs: 16 B 1 allocs: 16 B 1
launch/static workgroup, dynamic ndrange 1 allocs: 16 B 1 allocs: 16 B 1
launch/static workgroup, static ndrange 2 allocs: 0.0469 kB 2 allocs: 0.0469 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 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/1048576 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/16384 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/2048 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/256 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float16/262144 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/32768 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/4096 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/512 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float16/64 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float16/65536 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/1024 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/1048576 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/16384 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/2048 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/256 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float32/262144 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/32768 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/4096 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/512 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float32/64 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float32/65536 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/1024 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/1048576 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/16384 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/2048 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/256 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float64/262144 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/32768 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/4096 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/512 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/default/Float64/64 16 allocs: 0.328 kB 16 allocs: 0.328 kB 1
saxpy/default/Float64/65536 24 allocs: 0.453 kB 24 allocs: 0.453 kB 1
saxpy/static workgroup=(1024,)/Float16/1024 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/1048576 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/16384 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/2048 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/256 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float16/262144 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/32768 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/4096 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/512 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float16/64 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float16/65536 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/1024 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/1048576 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/16384 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/2048 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/256 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float32/262144 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/32768 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/4096 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/512 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float32/64 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float32/65536 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/1024 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/1048576 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/16384 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/2048 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/256 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float64/262144 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/32768 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/4096 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/512 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
saxpy/static workgroup=(1024,)/Float64/64 1 allocs: 16 B 1 allocs: 16 B 1
saxpy/static workgroup=(1024,)/Float64/65536 4 allocs: 0.0625 kB 4 allocs: 0.0625 kB 1
time_to_load 0.201 k allocs: 11.8 kB 0.201 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 Sep 23, 2026

Copy link
Copy Markdown
Member Author

CI failure unrelated, it's because KA.jl tests against a fork that has bugs (@christiangnrd there's still some CUDAInterface's in there after renaming back).

@christiangnrd

Copy link
Copy Markdown
Member

These should be fixed until I break it again next rebase. 1.12 passed and the versioninfo failure from those logs should be fixed by JuliaGPU/CUDA.jl@9f2f1d1

@christiangnrd
christiangnrd merged commit d15c1df into main Sep 23, 2026
74 of 78 checks passed
@christiangnrd
christiangnrd deleted the tb/dead-quirks branch September 23, 2026 14:43
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.

3 participants