Skip to content

More KernelInterface interface tests - #746

Open
christiangnrd wants to merge 3 commits into
mainfrom
typetests
Open

More KernelInterface interface tests#746
christiangnrd wants to merge 3 commits into
mainfrom
typetests

Conversation

@christiangnrd

Copy link
Copy Markdown
Member

No description provided.

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Show table
main 73fdef9... main / 73fdef9...
saxpy/default/Float32/1024 0.0689 ± 0.03 ms 0.05 ± 0.031 ms 1.38 ± 1.1
saxpy/default/Float32/1048576 0.485 ± 0.02 ms 0.481 ± 0.023 ms 1.01 ± 0.065
saxpy/default/Float32/16384 0.0608 ± 0.031 ms 0.0579 ± 0.027 ms 1.05 ± 0.72
saxpy/default/Float32/2048 0.0688 ± 0.028 ms 0.0561 ± 0.03 ms 1.23 ± 0.83
saxpy/default/Float32/256 0.0491 ± 0.031 ms 0.0443 ± 0.025 ms 1.11 ± 0.93
saxpy/default/Float32/262144 0.172 ± 0.029 ms 0.164 ± 0.028 ms 1.05 ± 0.25
saxpy/default/Float32/32768 0.0666 ± 0.029 ms 0.0629 ± 0.023 ms 1.06 ± 0.6
saxpy/default/Float32/4096 0.0674 ± 0.026 ms 0.058 ± 0.026 ms 1.16 ± 0.69
saxpy/default/Float32/512 0.0653 ± 0.031 ms 0.0444 ± 0.028 ms 1.47 ± 1.2
saxpy/default/Float32/64 0.0463 ± 0.029 ms 0.043 ± 0.023 ms 1.08 ± 0.89
saxpy/default/Float32/65536 0.0816 ± 0.03 ms 0.0783 ± 0.028 ms 1.04 ± 0.53
saxpy/default/Float64/1024 0.0672 ± 0.03 ms 0.0499 ± 0.032 ms 1.35 ± 1
saxpy/default/Float64/1048576 0.551 ± 0.11 ms 0.511 ± 0.067 ms 1.08 ± 0.25
saxpy/default/Float64/16384 0.0574 ± 0.026 ms 0.0546 ± 0.021 ms 1.05 ± 0.63
saxpy/default/Float64/2048 0.0542 ± 0.03 ms 0.0531 ± 0.032 ms 1.02 ± 0.84
saxpy/default/Float64/256 0.0486 ± 0.031 ms 0.0422 ± 0.023 ms 1.15 ± 0.96
saxpy/default/Float64/262144 0.189 ± 0.032 ms 0.183 ± 0.031 ms 1.04 ± 0.25
saxpy/default/Float64/32768 0.0685 ± 0.027 ms 0.0655 ± 0.023 ms 1.05 ± 0.56
saxpy/default/Float64/4096 0.0691 ± 0.025 ms 0.0551 ± 0.026 ms 1.25 ± 0.74
saxpy/default/Float64/512 0.0558 ± 0.031 ms 0.0429 ± 0.025 ms 1.3 ± 1
saxpy/default/Float64/64 0.0462 ± 0.029 ms 0.0421 ± 0.022 ms 1.1 ± 0.9
saxpy/default/Float64/65536 0.0873 ± 0.028 ms 0.0843 ± 0.027 ms 1.04 ± 0.47
saxpy/static workgroup=(1024,)/Float32/1024 0.0662 ± 0.03 ms 0.0478 ± 0.031 ms 1.38 ± 1.1
saxpy/static workgroup=(1024,)/Float32/1048576 0.419 ± 0.025 ms 0.414 ± 0.031 ms 1.01 ± 0.098
saxpy/static workgroup=(1024,)/Float32/16384 0.0572 ± 0.03 ms 0.0542 ± 0.026 ms 1.06 ± 0.75
saxpy/static workgroup=(1024,)/Float32/2048 0.0658 ± 0.028 ms 0.0535 ± 0.03 ms 1.23 ± 0.87
saxpy/static workgroup=(1024,)/Float32/256 0.0485 ± 0.029 ms 0.0438 ± 0.024 ms 1.11 ± 0.9
saxpy/static workgroup=(1024,)/Float32/262144 0.15 ± 0.029 ms 0.139 ± 0.028 ms 1.08 ± 0.3
saxpy/static workgroup=(1024,)/Float32/32768 0.0608 ± 0.026 ms 0.0583 ± 0.02 ms 1.04 ± 0.57
saxpy/static workgroup=(1024,)/Float32/4096 0.0658 ± 0.026 ms 0.0524 ± 0.027 ms 1.26 ± 0.8
saxpy/static workgroup=(1024,)/Float32/512 0.0612 ± 0.029 ms 0.045 ± 0.03 ms 1.36 ± 1.1
saxpy/static workgroup=(1024,)/Float32/64 0.0468 ± 0.027 ms 0.0428 ± 0.016 ms 1.09 ± 0.76
saxpy/static workgroup=(1024,)/Float32/65536 0.074 ± 0.029 ms 0.0712 ± 0.026 ms 1.04 ± 0.56
saxpy/static workgroup=(1024,)/Float64/1024 0.0648 ± 0.03 ms 0.0464 ± 0.031 ms 1.4 ± 1.1
saxpy/static workgroup=(1024,)/Float64/1048576 0.499 ± 0.094 ms 0.482 ± 0.084 ms 1.04 ± 0.27
saxpy/static workgroup=(1024,)/Float64/16384 0.0546 ± 0.024 ms 0.0524 ± 0.02 ms 1.04 ± 0.62
saxpy/static workgroup=(1024,)/Float64/2048 0.0531 ± 0.029 ms 0.0527 ± 0.031 ms 1.01 ± 0.81
saxpy/static workgroup=(1024,)/Float64/256 0.0484 ± 0.029 ms 0.0433 ± 0.025 ms 1.12 ± 0.92
saxpy/static workgroup=(1024,)/Float64/262144 0.182 ± 0.031 ms 0.177 ± 0.028 ms 1.03 ± 0.24
saxpy/static workgroup=(1024,)/Float64/32768 0.0659 ± 0.025 ms 0.0636 ± 0.023 ms 1.04 ± 0.54
saxpy/static workgroup=(1024,)/Float64/4096 0.064 ± 0.025 ms 0.0512 ± 0.026 ms 1.25 ± 0.79
saxpy/static workgroup=(1024,)/Float64/512 0.0601 ± 0.029 ms 0.0446 ± 0.029 ms 1.35 ± 1.1
saxpy/static workgroup=(1024,)/Float64/64 0.0469 ± 0.029 ms 0.0428 ± 0.024 ms 1.1 ± 0.91
saxpy/static workgroup=(1024,)/Float64/65536 0.084 ± 0.026 ms 0.0809 ± 0.023 ms 1.04 ± 0.44
time_to_load 0.886 ± 0.0093 s 0.887 ± 0.0047 s 0.999 ± 0.012

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 force-pushed the typetests branch 6 times, most recently from ceef27c to 10be9c2 Compare September 3, 2026 14:12
@christiangnrd
christiangnrd changed the base branch from main to fixtest September 3, 2026 14:13

# The interface documents a concrete return type for each device-side function;
# these kernels record whether the backend honors them.
const WorkItemNT = @NamedTuple{x::Int, y::Int, z::Int}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we define this alias in the package?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe? However I was starting to think that we should maybe have the get_X_size and get_X_id intrinsics take an optional type so people can have their kernels use 4-byte indexingwhen they know they won't need more and it might be annoying to do after we've defined this

@christiangnrd
christiangnrd force-pushed the typetests branch 2 times, most recently from dff88e2 to 715e8fb Compare September 3, 2026 17:50
Base automatically changed from fixtest to main September 6, 2026 00:07
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