Skip to content

Test KernelAbstractions launches by their behavior, not the launch kind - #1183

Merged
maleadt merged 1 commit into
mainfrom
tb/ka-fold-launch-tests
Oct 24, 2026
Merged

maleadt merged 1 commit into
mainfrom
tb/ka-fold-launch-tests

Conversation

@maleadt

@maleadt maleadt commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

The launch configuration tests asserted which kind of launch KernelAbstractions picks for a few shapes. That choice is KernelAbstractions' policy, not something the back end controls, and the assertions break whenever it changes: JuliaGPU/KernelAbstractions.jl#919 launches 4-d ranges on the N-d grid, which fails them on every back end.

This keeps the checks of what the back end does affect: that a dynamic 3-d range is indexed without divisions, and that iteration spaces too large for 32-bit indices are indexed correctly. The latter now covers a 4-d range that is launched on the N-d grid with JuliaGPU/KernelAbstractions.jl#919, and one that is only large along its last dimension.

The tests pass with KernelAbstractions main and with JuliaGPU/KernelAbstractions.jl#919, so this can be merged first.

The launch configuration tests asserted which kind of launch
KernelAbstractions picks for a few shapes. That is KernelAbstractions'
policy, not something the back end controls, and the assertions break
whenever it changes (JuliaGPU/KernelAbstractions.jl#912 launches 4-d
ranges on the N-d grid).

Keep the checks of what the back end does affect: that a dynamic 3-d
range is indexed without divisions, and that iteration spaces too large
for 32-bit indices are indexed correctly, now also one that is only
large along its last dimension.
@github-actions

Copy link
Copy Markdown
Contributor

AMDGPU.jl Benchmarks

Details
Benchmark suite Current: fef3c64 Previous: 7689e9d Ratio
amdgpu/synchronization/context/device 1807.5 ns 1795 ns 1.01
amdgpu/synchronization/stream/blocking 227.5 ns 227.5 ns 1
amdgpu/synchronization/stream/nonblocking 347.5 ns 342.5 ns 1.01
applications/bitonic_sort 1117945.25 ns 1112856.25 ns 1.00
applications/convolution 76231.25 ns 76553.5 ns 1.00
applications/floyd_warshall 9073870.75 ns 9077180 ns 1.00
applications/histogram 789972.5 ns 800526.75 ns 0.99
applications/prefix_sum 190653 ns 194390.25 ns 0.98
array/accumulate/Float32/1d 89684 ns 90223.75 ns 0.99
array/accumulate/Float32/dims=1 69748.75 ns 70451 ns 0.99
array/accumulate/Float32/dims=1L 104636.75 ns 104944 ns 1.00
array/accumulate/Float32/dims=2 104344.25 ns 104844 ns 1.00
array/accumulate/Float32/dims=2L 126994.75 ns 127731.75 ns 0.99
array/accumulate/Int64/1d 94044 ns 114961.5 ns 0.82
array/accumulate/Int64/dims=1 83241.25 ns 69886 ns 1.19
array/accumulate/Int64/dims=1L 110929.5 ns 111521.5 ns 0.99
array/accumulate/Int64/dims=2 106139.5 ns 108984 ns 0.97
array/accumulate/Int64/dims=2L 186563 ns 188030.25 ns 0.99
array/broadcast 57431 ns 33030.5 ns 1.74
array/construct 2105.25 ns 2225.25 ns 0.95
array/copy 37568 ns 39400.5 ns 0.95
array/copyto!/cpu_to_gpu 85844 ns 134109.5 ns 0.64
array/copyto!/gpu_to_cpu 85711.5 ns 86758.75 ns 0.99
array/copyto!/gpu_to_gpu 58268.5 ns 58358.25 ns 1.00
array/iteration/findall/bool 93536.5 ns 93526.5 ns 1.00
array/iteration/findall/int 105119 ns 105324 ns 1.00
array/iteration/findfirst/bool 49843.25 ns 55503.5 ns 0.90
array/iteration/findfirst/int 56993.5 ns 55410.75 ns 1.03
array/iteration/findmin/1d 92174 ns 96369 ns 0.96
array/iteration/findmin/2d 67938.75 ns 83236.25 ns 0.82
array/iteration/logical 89603.75 ns 94576.25 ns 0.95
array/iteration/scalar 296424.75 ns 288479 ns 1.03
array/permutedims/2d 61168.5 ns 48830.75 ns 1.25
array/permutedims/3d 58783.75 ns 58641 ns 1.00
array/permutedims/4d 62706 ns 62333.5 ns 1.01
array/random/rand/Float32 46163.25 ns 46288.25 ns 1.00
array/random/rand/Int64 45968.25 ns 45958.25 ns 1.00
array/random/rand!/Float32 49973.25 ns 42628 ns 1.17
array/random/rand!/Int64 47981 ns 47218.25 ns 1.02
array/random/randn/Float32 69868.75 ns 69713.5 ns 1.00
array/random/randn!/Float32 68091 ns 81656 ns 0.83
array/reductions/mapreduce/Float32/1d 68586 ns 68866 ns 1.00
array/reductions/mapreduce/Float32/dims=1 53981 ns 53788.25 ns 1.00
array/reductions/mapreduce/Float32/dims=1L 59778.5 ns 59428.25 ns 1.01
array/reductions/mapreduce/Float32/dims=2 60631 ns 60230.75 ns 1.01
array/reductions/mapreduce/Float32/dims=2L 59961 ns 71823.5 ns 0.83
array/reductions/mapreduce/Int64/1d 71023.75 ns 60976 ns 1.16
array/reductions/mapreduce/Int64/dims=1 51321 ns 51423.25 ns 1.00
array/reductions/mapreduce/Int64/dims=1L 71396 ns 71273.5 ns 1.00
array/reductions/mapreduce/Int64/dims=2 58418.5 ns 58898.25 ns 0.99
array/reductions/mapreduce/Int64/dims=2L 75963.75 ns 75998.5 ns 1.00
array/reductions/reduce/Float32/1d 68886 ns 65938.5 ns 1.04
array/reductions/reduce/Float32/dims=1 54490.75 ns 54135.75 ns 1.01
array/reductions/reduce/Float32/dims=1L 51088.5 ns 59218.25 ns 0.86
array/reductions/reduce/Float32/dims=2 59848.5 ns 59845.75 ns 1.00
array/reductions/reduce/Float32/dims=2L 71466 ns 72016.25 ns 0.99
array/reductions/reduce/Int64/1d 70478.5 ns 60268.25 ns 1.17
array/reductions/reduce/Int64/dims=1 51420.75 ns 51278.25 ns 1.00
array/reductions/reduce/Int64/dims=1L 70313.75 ns 70481.25 ns 1.00
array/reductions/reduce/Int64/dims=2 58396 ns 50230.5 ns 1.16
array/reductions/reduce/Int64/dims=2L 75931.25 ns 76196.25 ns 1.00
array/reverse/1d 35690.75 ns 40158 ns 0.89
array/reverse/1dL 65758.5 ns 64526 ns 1.02
array/reverse/1dL_inplace 58611 ns 78426.25 ns 0.75
array/reverse/1d_inplace 46855.75 ns 50110.75 ns 0.94
array/reverse/2d 47768.25 ns 47343.25 ns 1.01
array/reverse/2dL 75563.75 ns 57771 ns 1.31
array/reverse/2dL_inplace 94101.5 ns 94651.5 ns 0.99
array/reverse/2d_inplace 65153.75 ns 54671 ns 1.19
array/sorting/1d 335835.75 ns 336177.5 ns 1.00
gemm/tiled 1917970.5 ns 1924825.75 ns 1.00
gemm/tiled_unbounded 1944153.5 ns 1936623.25 ns 1.00
integration/byval/reference 40551 ns 40720 ns 1.00
integration/byval/slices=1 41071 ns 40730 ns 1.01
integration/byval/slices=2 129322 ns 144902 ns 0.89
integration/byval/slices=3 238243 ns 238064 ns 1.00
integration/volumerhs 4843887 ns 4842520 ns 1.00
kernel/indexing 38268 ns 44715.75 ns 0.86
kernel/indexing_checked 59256 ns 37433 ns 1.58
kernel/launch 1230 ns 1247.5 ns 0.99
kernel/rand 72368.75 ns 72283.5 ns 1.00
latency/import 1407266670 ns 1409644160 ns 1.00
latency/precompile 29090792696 ns 29133709219 ns 1.00
latency/ttfp 1790610923 ns 1794988893 ns 1.00
stencil/diffusion3d 1592050.25 ns 1595928.25 ns 1.00
stencil/diffusion3d_checked 1632435.75 ns 1614048.5 ns 1.01

This comment was automatically generated by workflow using github-action-benchmark.

@maleadt
maleadt merged commit dd7d97e into main Oct 24, 2026
11 checks passed
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