Skip to content

Add KI tests for record_event and wait_event - #788

Merged
christiangnrd merged 5 commits into
mainfrom
test
Sep 21, 2026
Merged

christiangnrd merged 5 commits into
mainfrom
test

Conversation

@christiangnrd

Copy link
Copy Markdown
Member

These tests are independent of KA 0.10 so KI implementations can be tested without a development version of KA.

I've checked that it fails with an incomplete implementation on Metal.jl but passes otherwise

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Benchmark Results

Show table
main 91f952a... main / 91f952a...
const/@Const/Float32/262144 0.34 ± 0.033 ms 0.344 ± 0.03 ms 0.99 ± 0.13
const/@Const/Float32/65536 0.132 ± 0.028 ms 0.125 ± 0.028 ms 1.06 ± 0.33
const/@Const/Float64/262144 0.429 ± 0.057 ms 0.43 ± 0.031 ms 0.998 ± 0.15
const/@Const/Float64/65536 0.165 ± 0.014 ms 0.15 ± 0.028 ms 1.1 ± 0.22
const/unmarked/Float32/262144 1.16 ± 0.038 ms 1.14 ± 0.04 ms 1.01 ± 0.049
const/unmarked/Float32/65536 0.323 ± 0.03 ms 0.329 ± 0.027 ms 0.983 ± 0.12
const/unmarked/Float64/262144 1.33 ± 0.037 ms 1.33 ± 0.04 ms 0.997 ± 0.041
const/unmarked/Float64/65536 0.372 ± 0.039 ms 0.391 ± 0.043 ms 0.952 ± 0.14
launch/3D static workgroup, dynamic ndrange 0.0726 ± 0.032 ms 0.0739 ± 0.026 ms 0.982 ± 0.56
launch/3D static workgroup, static ndrange 0.0721 ± 0.032 ms 0.0736 ± 0.026 ms 0.98 ± 0.56
launch/dynamic workgroup, dynamic ndrange 0.0757 ± 0.031 ms 0.0764 ± 0.024 ms 0.991 ± 0.51
launch/dynamic workgroup, dynamic ndrange, workgroupsize given 0.0675 ± 0.034 ms 0.0718 ± 0.031 ms 0.94 ± 0.62
launch/static workgroup, dynamic ndrange 0.0681 ± 0.033 ms 0.0712 ± 0.027 ms 0.956 ± 0.59
launch/static workgroup, static ndrange 0.0708 ± 0.032 ms 0.0714 ± 0.03 ms 0.992 ± 0.61
partition/dynamic workgroup, dynamic ndrange 0.0598 ± 0.0014 μs 0.0653 ± 0.0013 μs 0.916 ± 0.028
partition/static workgroup, dynamic ndrange 0.0646 ± 0.012 μs 0.0647 ± 0.012 μs 0.999 ± 0.26
partition/static workgroup, static ndrange 1.55 ± 0.009 ns 1.55 ± 0.01 ns 1 ± 0.0087
saxpy/default/Float16/1024 0.0792 ± 0.018 ms 0.0796 ± 0.018 ms 0.995 ± 0.32
saxpy/default/Float16/1048576 0.778 ± 0.031 ms 0.781 ± 0.031 ms 0.996 ± 0.057
saxpy/default/Float16/16384 0.067 ± 0.035 ms 0.0687 ± 0.035 ms 0.975 ± 0.7
saxpy/default/Float16/2048 0.0814 ± 0.021 ms 0.0821 ± 0.021 ms 0.992 ± 0.36
saxpy/default/Float16/256 0.0786 ± 0.02 ms 0.0791 ± 0.016 ms 0.994 ± 0.33
saxpy/default/Float16/262144 0.239 ± 0.032 ms 0.246 ± 0.033 ms 0.971 ± 0.18
saxpy/default/Float16/32768 0.0759 ± 0.033 ms 0.0773 ± 0.034 ms 0.982 ± 0.6
saxpy/default/Float16/4096 0.0818 ± 0.032 ms 0.0844 ± 0.03 ms 0.969 ± 0.52
saxpy/default/Float16/512 0.0792 ± 0.019 ms 0.0792 ± 0.019 ms 1 ± 0.34
saxpy/default/Float16/64 0.0769 ± 0.034 ms 0.0787 ± 0.025 ms 0.978 ± 0.53
saxpy/default/Float16/65536 0.0971 ± 0.029 ms 0.0985 ± 0.03 ms 0.986 ± 0.42
saxpy/default/Float32/1024 0.0786 ± 0.016 ms 0.0785 ± 0.015 ms 1 ± 0.29
saxpy/default/Float32/1048576 0.487 ± 0.024 ms 0.494 ± 0.024 ms 0.986 ± 0.069
saxpy/default/Float32/16384 0.0592 ± 0.032 ms 0.0602 ± 0.033 ms 0.984 ± 0.76
saxpy/default/Float32/2048 0.077 ± 0.03 ms 0.0772 ± 0.029 ms 0.998 ± 0.54
saxpy/default/Float32/256 0.0787 ± 0.022 ms 0.0788 ± 0.02 ms 0.998 ± 0.38
saxpy/default/Float32/262144 0.167 ± 0.031 ms 0.172 ± 0.032 ms 0.967 ± 0.26
saxpy/default/Float32/32768 0.065 ± 0.03 ms 0.0656 ± 0.03 ms 0.991 ± 0.65
saxpy/default/Float32/4096 0.0778 ± 0.031 ms 0.077 ± 0.031 ms 1.01 ± 0.58
saxpy/default/Float32/512 0.0784 ± 0.016 ms 0.0786 ± 0.015 ms 0.997 ± 0.27
saxpy/default/Float32/64 0.0782 ± 0.024 ms 0.0789 ± 0.02 ms 0.991 ± 0.39
saxpy/default/Float32/65536 0.0787 ± 0.031 ms 0.0803 ± 0.031 ms 0.979 ± 0.54
saxpy/default/Float64/1024 0.0783 ± 0.024 ms 0.0785 ± 0.024 ms 0.998 ± 0.43
saxpy/default/Float64/1048576 0.547 ± 0.077 ms 0.539 ± 0.072 ms 1.02 ± 0.2
saxpy/default/Float64/16384 0.0601 ± 0.03 ms 0.0605 ± 0.031 ms 0.994 ± 0.71
saxpy/default/Float64/2048 0.0766 ± 0.031 ms 0.0761 ± 0.032 ms 1.01 ± 0.59
saxpy/default/Float64/256 0.0785 ± 0.016 ms 0.0785 ± 0.018 ms 1 ± 0.31
saxpy/default/Float64/262144 0.185 ± 0.035 ms 0.192 ± 0.036 ms 0.963 ± 0.26
saxpy/default/Float64/32768 0.0676 ± 0.029 ms 0.0688 ± 0.029 ms 0.983 ± 0.59
saxpy/default/Float64/4096 0.072 ± 0.031 ms 0.0728 ± 0.031 ms 0.989 ± 0.59
saxpy/default/Float64/512 0.0784 ± 0.02 ms 0.0785 ± 0.015 ms 0.999 ± 0.32
saxpy/default/Float64/64 0.078 ± 0.028 ms 0.0788 ± 0.023 ms 0.989 ± 0.46
saxpy/default/Float64/65536 0.085 ± 0.029 ms 0.0857 ± 0.03 ms 0.991 ± 0.48
saxpy/static workgroup=(1024,)/Float16/1024 0.0765 ± 0.024 ms 0.0768 ± 0.023 ms 0.995 ± 0.43
saxpy/static workgroup=(1024,)/Float16/1048576 0.779 ± 0.032 ms 0.778 ± 0.031 ms 1 ± 0.058
saxpy/static workgroup=(1024,)/Float16/16384 0.0622 ± 0.032 ms 0.0637 ± 0.034 ms 0.976 ± 0.72
saxpy/static workgroup=(1024,)/Float16/2048 0.0786 ± 0.021 ms 0.0786 ± 0.022 ms 1 ± 0.39
saxpy/static workgroup=(1024,)/Float16/256 0.0743 ± 0.03 ms 0.0761 ± 0.025 ms 0.976 ± 0.51
saxpy/static workgroup=(1024,)/Float16/262144 0.236 ± 0.032 ms 0.242 ± 0.033 ms 0.974 ± 0.19
saxpy/static workgroup=(1024,)/Float16/32768 0.0718 ± 0.03 ms 0.0728 ± 0.031 ms 0.987 ± 0.59
saxpy/static workgroup=(1024,)/Float16/4096 0.0785 ± 0.034 ms 0.0808 ± 0.033 ms 0.971 ± 0.58
saxpy/static workgroup=(1024,)/Float16/512 0.076 ± 0.024 ms 0.0765 ± 0.021 ms 0.993 ± 0.41
saxpy/static workgroup=(1024,)/Float16/64 0.0733 ± 0.03 ms 0.0751 ± 0.028 ms 0.976 ± 0.54
saxpy/static workgroup=(1024,)/Float16/65536 0.0933 ± 0.026 ms 0.0945 ± 0.029 ms 0.988 ± 0.41
saxpy/static workgroup=(1024,)/Float32/1024 0.0757 ± 0.024 ms 0.0764 ± 0.02 ms 0.991 ± 0.4
saxpy/static workgroup=(1024,)/Float32/1048576 0.49 ± 0.023 ms 0.493 ± 0.023 ms 0.994 ± 0.066
saxpy/static workgroup=(1024,)/Float32/16384 0.0563 ± 0.03 ms 0.0574 ± 0.032 ms 0.979 ± 0.75
saxpy/static workgroup=(1024,)/Float32/2048 0.0742 ± 0.03 ms 0.0745 ± 0.03 ms 0.995 ± 0.57
saxpy/static workgroup=(1024,)/Float32/256 0.0752 ± 0.027 ms 0.0762 ± 0.024 ms 0.987 ± 0.48
saxpy/static workgroup=(1024,)/Float32/262144 0.164 ± 0.03 ms 0.169 ± 0.031 ms 0.969 ± 0.25
saxpy/static workgroup=(1024,)/Float32/32768 0.0618 ± 0.028 ms 0.0629 ± 0.028 ms 0.982 ± 0.62
saxpy/static workgroup=(1024,)/Float32/4096 0.0741 ± 0.032 ms 0.074 ± 0.032 ms 1 ± 0.61
saxpy/static workgroup=(1024,)/Float32/512 0.076 ± 0.022 ms 0.0763 ± 0.022 ms 0.997 ± 0.41
saxpy/static workgroup=(1024,)/Float32/64 0.0736 ± 0.031 ms 0.0754 ± 0.028 ms 0.975 ± 0.54
saxpy/static workgroup=(1024,)/Float32/65536 0.0761 ± 0.028 ms 0.078 ± 0.03 ms 0.976 ± 0.52
saxpy/static workgroup=(1024,)/Float64/1024 0.0755 ± 0.025 ms 0.0754 ± 0.025 ms 1 ± 0.47
saxpy/static workgroup=(1024,)/Float64/1048576 0.547 ± 0.057 ms 0.544 ± 0.066 ms 1.01 ± 0.16
saxpy/static workgroup=(1024,)/Float64/16384 0.0569 ± 0.028 ms 0.0574 ± 0.028 ms 0.99 ± 0.68
saxpy/static workgroup=(1024,)/Float64/2048 0.0737 ± 0.031 ms 0.0741 ± 0.031 ms 0.995 ± 0.58
saxpy/static workgroup=(1024,)/Float64/256 0.0755 ± 0.025 ms 0.0761 ± 0.025 ms 0.991 ± 0.46
saxpy/static workgroup=(1024,)/Float64/262144 0.185 ± 0.034 ms 0.188 ± 0.035 ms 0.987 ± 0.26
saxpy/static workgroup=(1024,)/Float64/32768 0.0649 ± 0.026 ms 0.066 ± 0.027 ms 0.984 ± 0.57
saxpy/static workgroup=(1024,)/Float64/4096 0.067 ± 0.031 ms 0.0681 ± 0.031 ms 0.984 ± 0.65
saxpy/static workgroup=(1024,)/Float64/512 0.076 ± 0.024 ms 0.0764 ± 0.023 ms 0.995 ± 0.43
saxpy/static workgroup=(1024,)/Float64/64 0.074 ± 0.03 ms 0.0755 ± 0.029 ms 0.98 ± 0.55
saxpy/static workgroup=(1024,)/Float64/65536 0.0835 ± 0.027 ms 0.0849 ± 0.029 ms 0.983 ± 0.46
time_to_load 0.761 ± 0.0053 s 0.788 ± 0.011 s 0.967 ± 0.015
main 91f952a... main / 91f952a...
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).

@christiangnrd
christiangnrd merged commit cdcdab8 into main Sep 21, 2026
77 of 78 checks passed
@christiangnrd
christiangnrd deleted the test branch September 21, 2026 19:08
@codecov

codecov Bot commented Sep 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.81%. Comparing base (7d2cdb6) to head (91f952a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #788   +/-   ##
=======================================
  Coverage   66.81%   66.81%           
=======================================
  Files          24       24           
  Lines        2025     2025           
=======================================
  Hits         1353     1353           
  Misses        672      672           

☔ 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