Allow GPUToolbox v2 and v3#950
Merged
Merged
Conversation
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>
02977b7 to
b87a62e
Compare
Contributor
There was a problem hiding this comment.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the GPUToolbox compat to allow v2 and v3.
The breaking changes in GPUToolbox v2/v3 are confined to the
@memoize/LazyInitializedredesign (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