Skip to content

Remove invalidating show method for GeneratedKernelError - #895

Merged
maleadt merged 1 commit into
mainfrom
tb/generated-error-show
Oct 14, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/generated-error-show

Conversation

@maleadt

@maleadt maleadt commented Oct 13, 2026

Copy link
Copy Markdown
Member

The Base.show(::IO, ::Type{GeneratedKernelError{Msg}}) overload invalidates 3054 MethodInstances of show(::IO, ::Type) callers when KernelAbstractions loads (measured with SnoopCompile on Julia 1.12 with all dependencies preloaded: 3297 invalidations in total before, 178 after). Every KA user pays for that at load time.

The method was also broken: printing the UnionAll GeneratedKernelError{Msg}, e.g. in a method signature, threw UndefVarError: Msg not defined in static parameter matching.

Without it, a failing generated=true kernel now reports:

KernelError: kernel returns a value of type `KernelAbstractions.GeneratedKernelError{Symbol("MethodError: no method matching length(::Type{KernelAbstractions.POCL.CLDeviceVector{Float32, 1}})")}`

The message is still there, just wrapped in Symbol(...). The existing tests in test/unroll.jl pass unchanged.

The `Base.show(::IO, ::Type{GeneratedKernelError{Msg}})` method invalidated
3054 MethodInstances of `show(::IO, ::Type)` callers when loading the package
(3297 invalidations total on Julia 1.12, 178 without it). It also threw
UndefVarError when printing the UnionAll `GeneratedKernelError{Msg}`. Without
it the type prints as `GeneratedKernelError{Symbol("...")}`, which still
carries the generator error message.
@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results

Show table
main c90d0eb... main / c90d0eb...
const/@Const/Float32/262144 0.691 ± 0.012 ms 0.693 ± 0.014 ms 0.997 ± 0.027
const/@Const/Float32/65536 0.202 ± 0.011 ms 0.202 ± 0.01 ms 0.997 ± 0.073
const/@Const/Float64/262144 0.906 ± 0.0089 ms 0.907 ± 0.0094 ms 0.999 ± 0.014
const/@Const/Float64/65536 0.322 ± 0.015 ms 0.323 ± 0.013 ms 0.997 ± 0.061
const/unmarked/Float32/262144 2.84 ± 0.045 ms 2.93 ± 0.047 ms 0.972 ± 0.022
const/unmarked/Float32/65536 0.663 ± 0.015 ms 0.692 ± 0.016 ms 0.958 ± 0.03
const/unmarked/Float64/262144 3.34 ± 0.048 ms 3.35 ± 0.011 ms 0.996 ± 0.015
const/unmarked/Float64/65536 0.836 ± 0.0088 ms 0.838 ± 0.0081 ms 0.997 ± 0.014
dgsem/2D/Float32/fluxdiff/element 0.587 ± 0.014 ms 0.594 ± 0.019 ms 0.989 ± 0.039
dgsem/2D/Float32/fluxdiff/node E=8 0.76 ± 0.014 ms 0.759 ± 0.017 ms 1 ± 0.029
dgsem/2D/Float32/fluxdiff/node halfsweep E=8 0.576 ± 0.013 ms 0.588 ± 0.024 ms 0.978 ± 0.046
dgsem/2D/Float32/fluxdiff/node halfsweep v-last E=8 0.598 ± 0.012 ms 0.619 ± 0.013 ms 0.967 ± 0.028
dgsem/2D/Float32/weak/element 0.195 ± 0.014 ms 0.196 ± 0.0043 ms 0.997 ± 0.073
dgsem/2D/Float32/weak/element private 0.209 ± 0.013 ms 0.218 ± 0.015 ms 0.959 ± 0.086
dgsem/2D/Float32/weak/node localmem E=1 0.181 ± 0.025 ms 0.181 ± 0.019 ms 0.999 ± 0.17
dgsem/2D/Float32/weak/node localmem E=8 0.172 ± 0.013 ms 0.173 ± 0.0035 ms 0.996 ± 0.076
dgsem/2D/Float32/weak/node localmem v-last E=1 0.262 ± 0.023 ms 0.27 ± 0.023 ms 0.972 ± 0.12
dgsem/2D/Float32/weak/node localmem v-last E=8 0.25 ± 0.021 ms 0.251 ± 0.013 ms 0.999 ± 0.099
dgsem/2D/Float32/weak/node recompute E=8 0.503 ± 0.018 ms 0.504 ± 0.017 ms 0.998 ± 0.049
dgsem/2D/Float64/fluxdiff/element 0.618 ± 0.017 ms 0.627 ± 0.02 ms 0.986 ± 0.041
dgsem/2D/Float64/fluxdiff/node E=8 0.777 ± 0.014 ms 0.768 ± 0.0088 ms 1.01 ± 0.021
dgsem/2D/Float64/fluxdiff/node halfsweep E=8 0.598 ± 0.017 ms 0.611 ± 0.022 ms 0.978 ± 0.045
dgsem/2D/Float64/fluxdiff/node halfsweep v-last E=8 0.638 ± 0.017 ms 0.645 ± 0.017 ms 0.989 ± 0.037
dgsem/2D/Float64/weak/element 0.231 ± 0.013 ms 0.228 ± 0.014 ms 1.01 ± 0.084
dgsem/2D/Float64/weak/element private 0.229 ± 0.0039 ms 0.232 ± 0.013 ms 0.987 ± 0.057
dgsem/2D/Float64/weak/node localmem E=1 0.187 ± 0.015 ms 0.187 ± 0.015 ms 1 ± 0.11
dgsem/2D/Float64/weak/node localmem E=8 0.177 ± 0.016 ms 0.178 ± 0.018 ms 0.995 ± 0.14
dgsem/2D/Float64/weak/node localmem v-last E=1 0.265 ± 0.016 ms 0.267 ± 0.017 ms 0.995 ± 0.085
dgsem/2D/Float64/weak/node localmem v-last E=8 0.255 ± 0.011 ms 0.257 ± 0.015 ms 0.994 ± 0.074
dgsem/2D/Float64/weak/node recompute E=8 0.64 ± 0.015 ms 0.633 ± 0.014 ms 1.01 ± 0.032
dgsem/3D/Float32/fluxdiff/element 2.14 ± 0.009 ms 2.09 ± 0.0063 ms 1.02 ± 0.0053
dgsem/3D/Float32/fluxdiff/node E=2 3.09 ± 0.0086 ms 3.14 ± 0.036 ms 0.985 ± 0.012
dgsem/3D/Float32/fluxdiff/node halfsweep E=1 2.22 ± 0.043 ms 2.27 ± 0.043 ms 0.981 ± 0.027
dgsem/3D/Float32/fluxdiff/node halfsweep v-last E=1 2.12 ± 0.041 ms 2.11 ± 0.0088 ms 1 ± 0.02
dgsem/3D/Float32/weak/element 0.685 ± 0.014 ms 0.672 ± 0.015 ms 1.02 ± 0.031
dgsem/3D/Float32/weak/element private 0.692 ± 0.014 ms 0.689 ± 0.015 ms 1 ± 0.03
dgsem/3D/Float32/weak/node localmem E=1 0.679 ± 0.017 ms 0.683 ± 0.017 ms 0.993 ± 0.035
dgsem/3D/Float32/weak/node localmem E=2 0.735 ± 0.015 ms 0.74 ± 0.015 ms 0.993 ± 0.028
dgsem/3D/Float32/weak/node localmem v-last E=1 0.897 ± 0.0053 ms 0.901 ± 0.013 ms 0.995 ± 0.016
dgsem/3D/Float32/weak/node localmem v-last E=2 1.05 ± 0.0043 ms 1.06 ± 0.0091 ms 0.993 ± 0.0094
dgsem/3D/Float32/weak/node recompute E=2 2.16 ± 0.0096 ms 2.21 ± 0.0083 ms 0.976 ± 0.0057
dgsem/3D/Float32/weak/slab E=1 2.78 ± 0.022 ms 2.74 ± 0.05 ms 1.01 ± 0.02
dgsem/3D/Float32/weak/slab E=8 5.53 ± 0.024 ms 5.54 ± 0.037 ms 0.999 ± 0.0079
dgsem/3D/Float32/weak/slab double-buffered E=1 1.67 ± 0.021 ms 1.67 ± 0.031 ms 1 ± 0.022
dgsem/3D/Float32/weak/slab double-buffered E=8 2.28 ± 0.022 ms 2.27 ± 0.027 ms 1.01 ± 0.015
dgsem/3D/Float32/weak/slab double-buffered v-last E=1 1.69 ± 0.042 ms 1.67 ± 0.0097 ms 1.01 ± 0.026
dgsem/3D/Float32/weak/slab double-buffered v-last E=8 2.34 ± 0.016 ms 2.33 ± 0.054 ms 1 ± 0.024
dgsem/3D/Float32/weak/slab v-last E=1 2.83 ± 0.055 ms 2.81 ± 0.015 ms 1.01 ± 0.02
dgsem/3D/Float32/weak/slab v-last E=8 5.42 ± 0.032 ms 5.41 ± 0.037 ms 1 ± 0.0089
dgsem/3D/Float64/fluxdiff/element 2.17 ± 0.027 ms 2.21 ± 0.013 ms 0.983 ± 0.014
dgsem/3D/Float64/fluxdiff/node E=2 3.08 ± 0.034 ms 3.06 ± 0.016 ms 1.01 ± 0.012
dgsem/3D/Float64/fluxdiff/node halfsweep E=1 2.21 ± 0.046 ms 2.16 ± 0.017 ms 1.02 ± 0.023
dgsem/3D/Float64/fluxdiff/node halfsweep v-last E=1 2.22 ± 0.026 ms 2.25 ± 0.017 ms 0.986 ± 0.014
dgsem/3D/Float64/weak/element 0.811 ± 0.019 ms 0.825 ± 0.011 ms 0.982 ± 0.026
dgsem/3D/Float64/weak/element private 0.834 ± 0.0077 ms 0.837 ± 0.013 ms 0.996 ± 0.018
dgsem/3D/Float64/weak/node localmem E=1 0.715 ± 0.015 ms 0.702 ± 0.012 ms 1.02 ± 0.028
dgsem/3D/Float64/weak/node localmem E=2 0.773 ± 0.016 ms 0.766 ± 0.01 ms 1.01 ± 0.025
dgsem/3D/Float64/weak/node localmem v-last E=1 0.907 ± 0.0057 ms 0.899 ± 0.0057 ms 1.01 ± 0.009
dgsem/3D/Float64/weak/node localmem v-last E=2 1.1 ± 0.019 ms 1.09 ± 0.015 ms 1.01 ± 0.022
dgsem/3D/Float64/weak/node recompute E=2 2.26 ± 0.043 ms 2.21 ± 0.017 ms 1.02 ± 0.021
dgsem/3D/Float64/weak/slab E=1 2.77 ± 0.02 ms 2.82 ± 0.018 ms 0.984 ± 0.0094
dgsem/3D/Float64/weak/slab E=8 6.57 ± 0.044 ms 6.67 ± 0.054 ms 0.986 ± 0.01
dgsem/3D/Float64/weak/slab double-buffered E=1 1.65 ± 0.013 ms 1.66 ± 0.048 ms 0.992 ± 0.029
dgsem/3D/Float64/weak/slab double-buffered E=8 2.36 ± 0.031 ms 2.32 ± 0.016 ms 1.01 ± 0.015
dgsem/3D/Float64/weak/slab double-buffered v-last E=1 1.72 ± 0.04 ms 1.7 ± 0.01 ms 1.01 ± 0.025
dgsem/3D/Float64/weak/slab double-buffered v-last E=8 2.38 ± 0.02 ms 2.39 ± 0.018 ms 0.996 ± 0.011
dgsem/3D/Float64/weak/slab v-last E=1 2.82 ± 0.038 ms 2.83 ± 0.028 ms 0.995 ± 0.016
dgsem/3D/Float64/weak/slab v-last E=8 6.58 ± 0.046 ms 6.66 ± 0.041 ms 0.989 ± 0.0093
launch/3D static workgroup, dynamic ndrange 13.1 ± 0.86 μs 13.5 ± 1.3 μs 0.969 ± 0.11
launch/3D static workgroup, static ndrange 16.1 ± 4.9 μs 13 ± 1.9 μs 1.23 ± 0.41
launch/dynamic workgroup, dynamic ndrange 9.93 ± 0.48 μs 10.1 ± 0.5 μs 0.984 ± 0.068
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 10.1 ± 0.54 μs 12.5 ± 0.46 μs 0.803 ± 0.052
launch/static workgroup, dynamic ndrange 12.9 ± 3.9 μs 12.6 ± 3.4 μs 1.02 ± 0.42
launch/static workgroup, static ndrange 11 ± 0.38 μs 13.1 ± 3.8 μs 0.838 ± 0.24
narrow workgroup/masked/W=16 0.808 ± 0.03 ms 0.789 ± 0.017 ms 1.02 ± 0.045
narrow workgroup/masked/W=4 0.748 ± 0.025 ms 0.752 ± 0.028 ms 0.995 ± 0.05
narrow workgroup/unmasked/W=16 0.497 ± 0.016 ms 0.496 ± 0.015 ms 1 ± 0.044
narrow workgroup/unmasked/W=4 0.509 ± 0.014 ms 0.508 ± 0.015 ms 1 ± 0.04
partition/dynamic workgroup, dynamic ndrange 0.0591 ± 0.026 μs 0.0621 ± 0.014 μs 0.951 ± 0.48
partition/static workgroup, dynamic ndrange 0.0713 ± 0.013 μs 0.0721 ± 0.014 μs 0.989 ± 0.26
partition/static workgroup, static ndrange 1.74 ± 0.01 ns 1.74 ± 0.01 ns 1 ± 0.0081
saxpy/default/Float16/1024 15.6 ± 4.1 μs 15.7 ± 0.66 μs 0.994 ± 0.26
saxpy/default/Float16/1048576 1.64 ± 0.022 ms 1.64 ± 0.016 ms 1 ± 0.017
saxpy/default/Float16/16384 0.0388 ± 0.0012 ms 0.0393 ± 0.0015 ms 0.987 ± 0.049
saxpy/default/Float16/2048 16.9 ± 0.49 μs 20.7 ± 3.8 μs 0.819 ± 0.15
saxpy/default/Float16/256 13.7 ± 0.92 μs 13.9 ± 0.68 μs 0.99 ± 0.082
saxpy/default/Float16/262144 0.45 ± 0.018 ms 0.45 ± 0.018 ms 0.999 ± 0.056
saxpy/default/Float16/32768 0.0887 ± 0.0076 ms 0.0888 ± 0.0047 ms 0.998 ± 0.1
saxpy/default/Float16/4096 20.1 ± 0.53 μs 20.2 ± 0.58 μs 0.994 ± 0.039
saxpy/default/Float16/512 14.6 ± 1.5 μs 14.8 ± 4.6 μs 0.982 ± 0.32
saxpy/default/Float16/64 13.2 ± 0.7 μs 13.5 ± 0.83 μs 0.971 ± 0.079
saxpy/default/Float16/65536 0.139 ± 0.01 ms 0.144 ± 0.011 ms 0.97 ± 0.1
saxpy/default/Float32/1024 15 ± 4.1 μs 15 ± 0.68 μs 0.999 ± 0.28
saxpy/default/Float32/1048576 0.945 ± 0.16 ms 0.951 ± 0.12 ms 0.993 ± 0.21
saxpy/default/Float32/16384 28 ± 2.4 μs 28.2 ± 2.8 μs 0.993 ± 0.13
saxpy/default/Float32/2048 15.6 ± 0.59 μs 15.6 ± 0.7 μs 0.999 ± 0.059
saxpy/default/Float32/256 13.6 ± 0.9 μs 13.6 ± 0.8 μs 0.995 ± 0.088
saxpy/default/Float32/262144 0.275 ± 0.036 ms 0.268 ± 0.033 ms 1.02 ± 0.18
saxpy/default/Float32/32768 0.0422 ± 0.0043 ms 0.042 ± 0.003 ms 1 ± 0.13
saxpy/default/Float32/4096 17.4 ± 0.88 μs 17.6 ± 0.82 μs 0.989 ± 0.068
saxpy/default/Float32/512 14.3 ± 0.6 μs 14.3 ± 0.67 μs 1 ± 0.063
saxpy/default/Float32/64 13.1 ± 0.84 μs 13.5 ± 1.3 μs 0.975 ± 0.11
saxpy/default/Float32/65536 0.098 ± 0.018 ms 0.102 ± 0.02 ms 0.96 ± 0.26
saxpy/default/Float64/1024 15.5 ± 2.6 μs 15.2 ± 0.56 μs 1.02 ± 0.17
saxpy/default/Float64/1048576 1.54 ± 0.4 ms 1.63 ± 0.45 ms 0.946 ± 0.36
saxpy/default/Float64/16384 30.3 ± 3.8 μs 31 ± 4.3 μs 0.978 ± 0.18
saxpy/default/Float64/2048 16 ± 2.2 μs 16.3 ± 1.6 μs 0.977 ± 0.16
saxpy/default/Float64/256 17.7 ± 0.79 μs 14.5 ± 0.74 μs 1.22 ± 0.083
saxpy/default/Float64/262144 0.285 ± 0.081 ms 0.284 ± 0.041 ms 1 ± 0.32
saxpy/default/Float64/32768 0.049 ± 0.01 ms 0.05 ± 0.018 ms 0.981 ± 0.4
saxpy/default/Float64/4096 20.4 ± 2.6 μs 18.7 ± 2.9 μs 1.09 ± 0.22
saxpy/default/Float64/512 14.3 ± 0.51 μs 14.9 ± 0.75 μs 0.956 ± 0.059
saxpy/default/Float64/64 13.6 ± 5.7 μs 13.5 ± 0.81 μs 1.01 ± 0.43
saxpy/default/Float64/65536 0.117 ± 0.022 ms 0.118 ± 0.017 ms 0.985 ± 0.23
saxpy/static workgroup=(1024,)/Float16/1024 15.6 ± 4.6 μs 15.5 ± 0.55 μs 1.01 ± 0.3
saxpy/static workgroup=(1024,)/Float16/1048576 1.64 ± 0.023 ms 1.64 ± 0.013 ms 1 ± 0.016
saxpy/static workgroup=(1024,)/Float16/16384 0.0393 ± 0.0015 ms 0.0393 ± 0.0013 ms 1 ± 0.051
saxpy/static workgroup=(1024,)/Float16/2048 17 ± 0.54 μs 17 ± 0.47 μs 0.997 ± 0.042
saxpy/static workgroup=(1024,)/Float16/256 13.8 ± 0.86 μs 14.1 ± 3.5 μs 0.981 ± 0.25
saxpy/static workgroup=(1024,)/Float16/262144 0.45 ± 0.017 ms 0.449 ± 0.016 ms 1 ± 0.053
saxpy/static workgroup=(1024,)/Float16/32768 0.0895 ± 0.0099 ms 0.0895 ± 0.0099 ms 1 ± 0.16
saxpy/static workgroup=(1024,)/Float16/4096 20.1 ± 0.53 μs 22.9 ± 3.2 μs 0.881 ± 0.13
saxpy/static workgroup=(1024,)/Float16/512 14.5 ± 1.3 μs 15.9 ± 5.4 μs 0.916 ± 0.32
saxpy/static workgroup=(1024,)/Float16/64 13.4 ± 3.1 μs 13.5 ± 3.5 μs 0.989 ± 0.34
saxpy/static workgroup=(1024,)/Float16/65536 0.14 ± 0.0085 ms 0.141 ± 0.011 ms 0.99 ± 0.096
saxpy/static workgroup=(1024,)/Float32/1024 14.8 ± 0.62 μs 19 ± 0.73 μs 0.779 ± 0.044
saxpy/static workgroup=(1024,)/Float32/1048576 0.972 ± 0.18 ms 0.953 ± 0.15 ms 1.02 ± 0.25
saxpy/static workgroup=(1024,)/Float32/16384 27.7 ± 1.6 μs 27.9 ± 2.1 μs 0.992 ± 0.096
saxpy/static workgroup=(1024,)/Float32/2048 15.5 ± 0.78 μs 15.8 ± 4 μs 0.982 ± 0.25
saxpy/static workgroup=(1024,)/Float32/256 15.7 ± 2 μs 14.3 ± 1.1 μs 1.1 ± 0.16
saxpy/static workgroup=(1024,)/Float32/262144 0.273 ± 0.041 ms 0.277 ± 0.029 ms 0.987 ± 0.18
saxpy/static workgroup=(1024,)/Float32/32768 0.0419 ± 0.0037 ms 0.0417 ± 0.0059 ms 1 ± 0.17
saxpy/static workgroup=(1024,)/Float32/4096 17.3 ± 0.88 μs 17.8 ± 2.6 μs 0.971 ± 0.15
saxpy/static workgroup=(1024,)/Float32/512 15 ± 4.6 μs 15.1 ± 4.4 μs 0.993 ± 0.42
saxpy/static workgroup=(1024,)/Float32/64 16.3 ± 4.3 μs 14.1 ± 0.9 μs 1.16 ± 0.32
saxpy/static workgroup=(1024,)/Float32/65536 0.113 ± 0.02 ms 0.0993 ± 0.019 ms 1.14 ± 0.29
saxpy/static workgroup=(1024,)/Float64/1024 15.3 ± 2.2 μs 15 ± 0.53 μs 1.03 ± 0.15
saxpy/static workgroup=(1024,)/Float64/1048576 1.92 ± 0.68 ms 1.57 ± 0.64 ms 1.22 ± 0.66
saxpy/static workgroup=(1024,)/Float64/16384 31.2 ± 5.4 μs 30.6 ± 3 μs 1.02 ± 0.21
saxpy/static workgroup=(1024,)/Float64/2048 16.3 ± 2.4 μs 16.1 ± 2.1 μs 1.01 ± 0.2
saxpy/static workgroup=(1024,)/Float64/256 18.9 ± 4.5 μs 15 ± 0.68 μs 1.26 ± 0.3
saxpy/static workgroup=(1024,)/Float64/262144 0.289 ± 0.078 ms 0.302 ± 0.046 ms 0.957 ± 0.3
saxpy/static workgroup=(1024,)/Float64/32768 0.0488 ± 0.0088 ms 0.0496 ± 0.012 ms 0.984 ± 0.3
saxpy/static workgroup=(1024,)/Float64/4096 18.1 ± 1.4 μs 18 ± 0.92 μs 1.01 ± 0.095
saxpy/static workgroup=(1024,)/Float64/512 14.6 ± 0.6 μs 14.6 ± 0.57 μs 0.999 ± 0.057
saxpy/static workgroup=(1024,)/Float64/64 13.9 ± 0.81 μs 14 ± 0.92 μs 0.99 ± 0.087
saxpy/static workgroup=(1024,)/Float64/65536 0.118 ± 0.024 ms 0.117 ± 0.019 ms 1.01 ± 0.26
time_to_load 0.539 ± 0.0027 s 0.537 ± 0.0096 s 1 ± 0.019
main c90d0eb... main / c90d0eb...
const/@Const/Float32/262144 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/@Const/Float32/65536 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/@Const/Float64/262144 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/@Const/Float64/65536 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/unmarked/Float32/262144 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/unmarked/Float32/65536 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/unmarked/Float64/262144 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
const/unmarked/Float64/65536 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
dgsem/2D/Float32/fluxdiff/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float32/fluxdiff/node E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/fluxdiff/node halfsweep E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/fluxdiff/node halfsweep v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/weak/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float32/weak/element private 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float32/weak/node localmem E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/weak/node localmem E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/weak/node localmem v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/weak/node localmem v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float32/weak/node recompute E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/fluxdiff/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float64/fluxdiff/node E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/fluxdiff/node halfsweep E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/fluxdiff/node halfsweep v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/weak/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float64/weak/element private 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/2D/Float64/weak/node localmem E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/weak/node localmem E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/weak/node localmem v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/weak/node localmem v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/2D/Float64/weak/node recompute E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/fluxdiff/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float32/fluxdiff/node E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/fluxdiff/node halfsweep E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/fluxdiff/node halfsweep v-last E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float32/weak/element private 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float32/weak/node localmem E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/node localmem E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/node localmem v-last E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/node localmem v-last E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/node recompute E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float32/weak/slab E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab double-buffered E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab double-buffered E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab double-buffered v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab double-buffered v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float32/weak/slab v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/fluxdiff/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float64/fluxdiff/node E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/fluxdiff/node halfsweep E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/fluxdiff/node halfsweep v-last E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/element 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float64/weak/element private 10 allocs: 0.219 kB 10 allocs: 0.219 kB 1
dgsem/3D/Float64/weak/node localmem E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/node localmem E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/node localmem v-last E=1 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/node localmem v-last E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/node recompute E=2 13 allocs: 0.391 kB 13 allocs: 0.391 kB 1
dgsem/3D/Float64/weak/slab E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab double-buffered E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab double-buffered E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab double-buffered v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab double-buffered v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab v-last E=1 10 allocs: 0.234 kB 10 allocs: 0.234 kB 1
dgsem/3D/Float64/weak/slab v-last E=8 10 allocs: 0.234 kB 10 allocs: 0.234 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
narrow workgroup/masked/W=16 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
narrow workgroup/masked/W=4 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
narrow workgroup/unmasked/W=16 9 allocs: 0.203 kB 9 allocs: 0.203 kB 1
narrow workgroup/unmasked/W=4 9 allocs: 0.203 kB 9 allocs: 0.203 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 0.562
saxpy/default/Float64/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/default/Float64/1048576 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 0.562
saxpy/static workgroup=(1024,)/Float16/1024 8 allocs: 0.141 kB 8 allocs: 0.141 kB 1
saxpy/static workgroup=(1024,)/Float16/1048576 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 kB 1
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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 12 allocs: 0.25 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 12 allocs: 0.25 kB 8 allocs: 0.141 kB 1.78
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 merged commit 4e2c704 into main Oct 14, 2026
62 of 63 checks passed
@maleadt
maleadt deleted the tb/generated-error-show branch October 14, 2026 08:06
@codecov

codecov Bot commented Oct 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.58%. Comparing base (b8b5e1a) to head (c90d0eb).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #895      +/-   ##
==========================================
- Coverage   82.59%   82.58%   -0.02%     
==========================================
  Files          28       28              
  Lines        2454     2452       -2     
==========================================
- Hits         2027     2025       -2     
  Misses        427      427              

☔ 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.

2 participants