Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial support for MPSNDArray #499

Merged
merged 3 commits into from
Dec 16, 2024
Merged

Initial support for MPSNDArray #499

merged 3 commits into from
Dec 16, 2024

Conversation

christiangnrd
Copy link
Contributor

Not hooked up to any higher-level features but comes with tests.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Metal Benchmarks

Benchmark suite Current: 6940471 Previous: 8c119cf Ratio
private array/construct 26675.642857142855 ns 27535.714285714286 ns 0.97
private array/broadcast 460709 ns 462667 ns 1.00
private array/random/randn/Float32 726479 ns 801500 ns 0.91
private array/random/randn!/Float32 643875 ns 649125 ns 0.99
private array/random/rand!/Int64 573959 ns 556667 ns 1.03
private array/random/rand!/Float32 599083 ns 589000 ns 1.02
private array/random/rand/Int64 756104 ns 757125 ns 1.00
private array/random/rand/Float32 607333.5 ns 612979.5 ns 0.99
private array/copyto!/gpu_to_gpu 665458 ns 636833 ns 1.04
private array/copyto!/cpu_to_gpu 654208 ns 802250 ns 0.82
private array/copyto!/gpu_to_cpu 801291.5 ns 811416 ns 0.99
private array/accumulate/1d 1323000 ns 1335417 ns 0.99
private array/accumulate/2d 1396792 ns 1385542 ns 1.01
private array/iteration/findall/int 2037208 ns 2069208.5 ns 0.98
private array/iteration/findall/bool 1818687.5 ns 1807625 ns 1.01
private array/iteration/findfirst/int 1702875 ns 1689417 ns 1.01
private array/iteration/findfirst/bool 1658020.5 ns 1654417 ns 1.00
private array/iteration/scalar 3754583 ns 3888771 ns 0.97
private array/iteration/logical 3182584 ns 3174145.5 ns 1.00
private array/iteration/findmin/1d 1757708.5 ns 1740875 ns 1.01
private array/iteration/findmin/2d 1359750 ns 1351417 ns 1.01
private array/reductions/reduce/1d 1037271 ns 1020500 ns 1.02
private array/reductions/reduce/2d 664542 ns 658166 ns 1.01
private array/reductions/mapreduce/1d 1037187 ns 1042750 ns 0.99
private array/reductions/mapreduce/2d 668541 ns 656958 ns 1.02
private array/permutedims/4d 3067083 ns 2558833 ns 1.20
private array/permutedims/2d 1016791.5 ns 1022709 ns 0.99
private array/permutedims/3d 1584083 ns 1587645.5 ns 1.00
private array/copy 589833 ns 591375 ns 1.00
latency/precompile 5234192416 ns 5143804334 ns 1.02
latency/ttfp 6701849458 ns 6880237708.5 ns 0.97
latency/import 1159261542 ns 1161084541.5 ns 1.00
integration/metaldevrt 731583.5 ns 715041 ns 1.02
integration/byval/slices=1 1594125 ns 1632375 ns 0.98
integration/byval/slices=3 10332250 ns 10058875 ns 1.03
integration/byval/reference 1636208.5 ns 1585312.5 ns 1.03
integration/byval/slices=2 2627062.5 ns 2691375 ns 0.98
kernel/indexing 473792 ns 462625 ns 1.02
kernel/indexing_checked 468917 ns 460479 ns 1.02
kernel/launch 8084 ns 10104.166666666668 ns 0.80
metal/synchronization/stream 14875 ns 14834 ns 1.00
metal/synchronization/context 15167 ns 15167 ns 1
shared array/construct 26406.166666666668 ns 26138.916666666664 ns 1.01
shared array/broadcast 478583.5 ns 468542 ns 1.02
shared array/random/randn/Float32 754542 ns 809834 ns 0.93
shared array/random/randn!/Float32 643792 ns 664917 ns 0.97
shared array/random/rand!/Int64 572166 ns 556875 ns 1.03
shared array/random/rand!/Float32 598958 ns 595666 ns 1.01
shared array/random/rand/Int64 757625 ns 787624.5 ns 0.96
shared array/random/rand/Float32 621958 ns 602166 ns 1.03
shared array/copyto!/gpu_to_gpu 89584 ns 87792 ns 1.02
shared array/copyto!/cpu_to_gpu 87875 ns 88708 ns 0.99
shared array/copyto!/gpu_to_cpu 78500 ns 79167 ns 0.99
shared array/accumulate/1d 1345625 ns 1355375.5 ns 0.99
shared array/accumulate/2d 1399959 ns 1387104.5 ns 1.01
shared array/iteration/findall/int 1799000 ns 1754499.5 ns 1.03
shared array/iteration/findall/bool 1561895.5 ns 1593625 ns 0.98
shared array/iteration/findfirst/int 1403458 ns 1384875 ns 1.01
shared array/iteration/findfirst/bool 1373187 ns 1353459 ns 1.01
shared array/iteration/scalar 159375 ns 160834 ns 0.99
shared array/iteration/logical 2989084 ns 2942875 ns 1.02
shared array/iteration/findmin/1d 1463167 ns 1457563 ns 1.00
shared array/iteration/findmin/2d 1365458 ns 1364667 ns 1.00
shared array/reductions/reduce/1d 735291 ns 726000 ns 1.01
shared array/reductions/reduce/2d 657208 ns 654625 ns 1.00
shared array/reductions/mapreduce/1d 737583 ns 736917 ns 1.00
shared array/reductions/mapreduce/2d 674000 ns 664458.5 ns 1.01
shared array/permutedims/4d 2725833 ns 2550125 ns 1.07
shared array/permutedims/2d 1015625 ns 1026542 ns 0.99
shared array/permutedims/3d 1642625 ns 1599229.5 ns 1.03
shared array/copy 243750 ns 237042 ns 1.03

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

@maleadt maleadt merged commit 5056e33 into main Dec 16, 2024
2 checks passed
@maleadt maleadt deleted the ndarray branch December 16, 2024 16:33
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