Skip to content

Allow GPUToolbox v2 and v3#950

Merged
vchuravy merged 1 commit into
mainfrom
vc/gputoolbox-compat
Jul 4, 2026
Merged

Allow GPUToolbox v2 and v3#950
vchuravy merged 1 commit into
mainfrom
vc/gputoolbox-compat

Conversation

@vchuravy

@vchuravy vchuravy commented Jul 4, 2026

Copy link
Copy Markdown
Member

Bumps the GPUToolbox compat to allow v2 and v3.

The breaking changes in GPUToolbox v2/v3 are confined to the @memoize/LazyInitialized redesign (memoization and threading). AMDGPU only uses @gcsafe_ccall, which is unchanged through v3.0.0.

Verified that AMDGPU resolves and precompiles against GPUToolbox v3.0.0 in a clean environment.

🤖 Generated with Claude Code

@vchuravy

vchuravy commented Jul 4, 2026

Copy link
Copy Markdown
Member Author

Breaking changes in GPUToolbox v2/v3 only affect @memoize and
LazyInitialized; AMDGPU only uses @gcsafe_ccall, which is unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

AMDGPU.jl Benchmarks

Details
Benchmark suite Current: b87a62e Previous: 790ffef Ratio
amdgpu/synchronization/context/device 590 ns 600 ns 0.98
amdgpu/synchronization/stream/blocking 250 ns 250 ns 1
amdgpu/synchronization/stream/nonblocking 340 ns 330 ns 1.03
array/accumulate/Float32/1d 85511 ns 85181 ns 1.00
array/accumulate/Float32/dims=1 316974 ns 346495 ns 0.91
array/accumulate/Float32/dims=1L 137092 ns 135832 ns 1.01
array/accumulate/Float32/dims=2 126252 ns 133722 ns 0.94
array/accumulate/Float32/dims=2L 2811816 ns 2807449 ns 1.00
array/accumulate/Int64/1d 98151 ns 97751 ns 1.00
array/accumulate/Int64/dims=1 246143 ns 327884 ns 0.75
array/accumulate/Int64/dims=1L 168422 ns 167762 ns 1.00
array/accumulate/Int64/dims=2 124501 ns 128652 ns 0.97
array/accumulate/Int64/dims=2L 2988997 ns 2987542 ns 1.00
array/broadcast 94541 ns 85431 ns 1.11
array/construct 1780 ns 1640 ns 1.09
array/copy 39531 ns 37090 ns 1.07
array/copyto!/cpu_to_gpu 113931 ns 119302 ns 0.95
array/copyto!/gpu_to_cpu 182802 ns 183102 ns 1.00
array/copyto!/gpu_to_gpu 74081 ns 73881 ns 1.00
array/iteration/findall/bool 182782 ns 180732 ns 1.01
array/iteration/findall/int 189443 ns 199623 ns 0.95
array/iteration/findfirst/bool 117901 ns 121852 ns 0.97
array/iteration/findfirst/int 116471 ns 114861 ns 1.01
array/iteration/findmin/1d 170082 ns 170243 ns 1.00
array/iteration/findmin/2d 156442 ns 155382 ns 1.01
array/iteration/logical 350375 ns 355195 ns 0.99
array/iteration/scalar 296064 ns 290084 ns 1.02
array/permutedims/2d 74871 ns 75151 ns 1.00
array/permutedims/3d 73861 ns 74541 ns 0.99
array/permutedims/4d 77081 ns 77212 ns 1.00
array/random/rand/Float32 51421 ns 50610 ns 1.02
array/random/rand/Int64 56820 ns 57201 ns 0.99
array/random/rand!/Float32 92412 ns 95971 ns 0.96
array/random/rand!/Int64 146742 ns 86611 ns 1.69
array/random/randn/Float32 87631 ns 99462 ns 0.88
array/random/randn!/Float32 161902 ns 108421 ns 1.49
array/reductions/mapreduce/Float32/1d 134022 ns 133292 ns 1.01
array/reductions/mapreduce/Float32/dims=1 95511 ns 95621 ns 1.00
array/reductions/mapreduce/Float32/dims=1L 776171 ns 778531 ns 1.00
array/reductions/mapreduce/Float32/dims=2 97341 ns 97572 ns 1.00
array/reductions/mapreduce/Float32/dims=2L 298194 ns 308705 ns 0.97
array/reductions/mapreduce/Int64/1d 134212 ns 134702 ns 1.00
array/reductions/mapreduce/Int64/dims=1 95491 ns 96291 ns 0.99
array/reductions/mapreduce/Int64/dims=1L 782411 ns 785001 ns 1.00
array/reductions/mapreduce/Int64/dims=2 96621 ns 96932 ns 1.00
array/reductions/mapreduce/Int64/dims=2L 298904 ns 308475 ns 0.97
array/reductions/reduce/Float32/1d 133902 ns 133372 ns 1.00
array/reductions/reduce/Float32/dims=1 95251 ns 95181 ns 1.00
array/reductions/reduce/Float32/dims=1L 775511 ns 775611 ns 1.00
array/reductions/reduce/Float32/dims=2 97361 ns 97251 ns 1.00
array/reductions/reduce/Float32/dims=2L 298144 ns 297585 ns 1.00
array/reductions/reduce/Int64/1d 134952 ns 135242 ns 1.00
array/reductions/reduce/Int64/dims=1 93521 ns 95041 ns 0.98
array/reductions/reduce/Int64/dims=1L 785071 ns 781271 ns 1.00
array/reductions/reduce/Int64/dims=2 95202 ns 96491 ns 0.99
array/reductions/reduce/Int64/dims=2L 299954 ns 302104 ns 0.99
array/reverse/1d 43901 ns 42991 ns 1.02
array/reverse/1dL 75831 ns 75381 ns 1.01
array/reverse/1dL_inplace 86461 ns 167852 ns 0.52
array/reverse/1d_inplace 98451 ns 72911 ns 1.35
array/reverse/2d 51250 ns 51030 ns 1.00
array/reverse/2dL 101471 ns 101682 ns 1.00
array/reverse/2dL_inplace 101382 ns 107362 ns 0.94
array/reverse/2d_inplace 142072 ns 85981 ns 1.65
array/sorting/1d 343184 ns 342214 ns 1.00
integration/byval/reference 39851 ns 39040 ns 1.02
integration/byval/slices=1 40490 ns 40281 ns 1.01
integration/byval/slices=2 159722 ns 146872 ns 1.09
integration/byval/slices=3 237713 ns 238173 ns 1.00
integration/volumerhs 5032575 ns 5024071 ns 1.00
kernel/indexing 68231 ns 67700 ns 1.01
kernel/indexing_checked 98071 ns 64401 ns 1.52
kernel/launch 1320 ns 1350 ns 0.98
kernel/rand 125792 ns 198943 ns 0.63
latency/import 1588190447 ns 1577477738 ns 1.01
latency/precompile 36295592303 ns 36338831604 ns 1.00
latency/ttfp 2159175095 ns 2145912756 ns 1.01

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

@vchuravy vchuravy merged commit 4ffe58e into main Jul 4, 2026
5 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