Skip to content

Wrap and interface MPS solver functionality#853

Merged
maleadt merged 6 commits into
mainfrom
tb/mpssolve
Jun 22, 2026
Merged

Wrap and interface MPS solver functionality#853
maleadt merged 6 commits into
mainfrom
tb/mpssolve

Conversation

@maleadt

@maleadt maleadt commented Jun 22, 2026

Copy link
Copy Markdown
Member

Closes #402

@maleadt maleadt changed the title Wrap and implement MPS sovler functionality Wrap and implement MPS solver functionality Jun 22, 2026
@maleadt maleadt changed the title Wrap and implement MPS solver functionality Wrap and interface MPS solver functionality Jun 22, 2026
@codecov

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.91837% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.87%. Comparing base (6b62b2d) to head (e53e1f8).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
src/linalg.jl 91.95% 7 Missing ⚠️
lib/mps/solve.jl 97.58% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #853      +/-   ##
==========================================
+ Coverage   85.41%   85.87%   +0.45%     
==========================================
  Files          69       70       +1     
  Lines        4134     4417     +283     
==========================================
+ Hits         3531     3793     +262     
- Misses        603      624      +21     

☔ 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.

@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.

Metal Benchmarks

Details
Benchmark suite Current: e53e1f8 Previous: eed9d53 Ratio
array/accumulate/Float32/1d 816500 ns 827666 ns 0.99
array/accumulate/Float32/dims=1 940125.5 ns 983458.5 ns 0.96
array/accumulate/Float32/dims=1L 8605791.5 ns 8685625 ns 0.99
array/accumulate/Float32/dims=2 1260375 ns 1253625 ns 1.01
array/accumulate/Float32/dims=2L 4437500.5 ns 4197458 ns 1.06
array/accumulate/Int64/1d 923959 ns 924625 ns 1.00
array/accumulate/Int64/dims=1 1106854 ns 1109666 ns 1.00
array/accumulate/Int64/dims=1L 9867375 ns 9873729 ns 1.00
array/accumulate/Int64/dims=2 1416896 ns 1445125 ns 0.98
array/accumulate/Int64/dims=2L 7917250 ns 6935479.5 ns 1.14
array/broadcast 363666 ns 336125 ns 1.08
array/construct 3333 ns 3458 ns 0.96
array/permutedims/2d 575812 ns 616166 ns 0.93
array/permutedims/3d 1069083.5 ns 1091500 ns 0.98
array/permutedims/4d 1659584 ns 1139375 ns 1.46
array/private/copy 400208 ns 390604 ns 1.02
array/private/copyto!/cpu_to_gpu 383333 ns 361625 ns 1.06
array/private/copyto!/gpu_to_cpu 377854.5 ns 360416 ns 1.05
array/private/copyto!/gpu_to_gpu 361292 ns 329895.5 ns 1.10
array/private/iteration/findall/bool 1130584 ns 1187896 ns 0.95
array/private/iteration/findall/int 1276875 ns 1319625 ns 0.97
array/private/iteration/findfirst/bool 1408959 ns 1326750 ns 1.06
array/private/iteration/findfirst/int 1516583 ns 1374708.5 ns 1.10
array/private/iteration/findmin/1d 1572833.5 ns 1521458 ns 1.03
array/private/iteration/findmin/2d 1258334 ns 1229312.5 ns 1.02
array/private/iteration/logical 1932625 ns 1982791 ns 0.97
array/private/iteration/scalar 2777375 ns 1740750 ns 1.60
array/random/rand/Float32 527167 ns 599729 ns 0.88
array/random/rand/Int64 644416.5 ns 643666 ns 1.00
array/random/rand!/Float32 533792 ns 497458 ns 1.07
array/random/rand!/Int64 493583.5 ns 471625 ns 1.05
array/random/randn/Float32 492208.5 ns 554208 ns 0.89
array/random/randn!/Float32 480500 ns 452895.5 ns 1.06
array/reductions/mapreduce/Float32/1d 718167 ns 612083 ns 1.17
array/reductions/mapreduce/Float32/dims=1 481959 ns 445042 ns 1.08
array/reductions/mapreduce/Float32/dims=1L 769041 ns 701292 ns 1.10
array/reductions/mapreduce/Float32/dims=2 490000 ns 450458 ns 1.09
array/reductions/mapreduce/Float32/dims=2L 968437.5 ns 847833 ns 1.14
array/reductions/mapreduce/Int64/1d 939958 ns 802625 ns 1.17
array/reductions/mapreduce/Int64/dims=1 817209 ns 755750 ns 1.08
array/reductions/mapreduce/Int64/dims=1L 1319187.5 ns 1101084 ns 1.20
array/reductions/mapreduce/Int64/dims=2 1008333 ns 791167 ns 1.27
array/reductions/mapreduce/Int64/dims=2L 2169000 ns 2170334 ns 1.00
array/reductions/reduce/Float32/1d 679792 ns 606791 ns 1.12
array/reductions/reduce/Float32/dims=1 473583 ns 443458 ns 1.07
array/reductions/reduce/Float32/dims=1L 756895.5 ns 701292 ns 1.08
array/reductions/reduce/Float32/dims=2 481083.5 ns 444042 ns 1.08
array/reductions/reduce/Float32/dims=2L 1260917 ns 844875 ns 1.49
array/reductions/reduce/Int64/1d 924146 ns 798000 ns 1.16
array/reductions/reduce/Int64/dims=1 805084 ns 754562 ns 1.07
array/reductions/reduce/Int64/dims=1L 1312041 ns 1093875 ns 1.20
array/reductions/reduce/Int64/dims=2 978000 ns 806708 ns 1.21
array/reductions/reduce/Int64/dims=2L 2149166 ns 2151854.5 ns 1.00
array/shared/copy 232083 ns 161500 ns 1.44
array/shared/copyto!/cpu_to_gpu 38709 ns 39167 ns 0.99
array/shared/copyto!/gpu_to_cpu 39375 ns 40291 ns 0.98
array/shared/copyto!/gpu_to_gpu 39875 ns 40500 ns 0.98
array/shared/iteration/findall/bool 1142875 ns 1195459 ns 0.96
array/shared/iteration/findall/int 1284229.5 ns 1325292 ns 0.97
array/shared/iteration/findfirst/bool 1117125 ns 1007229 ns 1.11
array/shared/iteration/findfirst/int 1197437.5 ns 998750 ns 1.20
array/shared/iteration/findmin/1d 1300958 ns 1282667 ns 1.01
array/shared/iteration/findmin/2d 1265916.5 ns 1230250 ns 1.03
array/shared/iteration/logical 1715708 ns 1790645.5 ns 0.96
array/shared/iteration/scalar 2606.5555555555557 ns 3645.875 ns 0.71
integration/byval/reference 1139250 ns 1151417 ns 0.99
integration/byval/slices=1 1138333 ns 1152417 ns 0.99
integration/byval/slices=2 2049541 ns 2079771 ns 0.99
integration/byval/slices=3 9574166.5 ns 18546542 ns 0.52
integration/metaldevrt 442020.5 ns 440292 ns 1.00
kernel/indexing 324750 ns 330083 ns 0.98
kernel/indexing_checked 489771 ns 489083 ns 1.00
kernel/launch 1954.2 ns 1945.9 ns 1.00
kernel/rand 521916 ns 496291.5 ns 1.05
latency/import 1861413875 ns 1878675583.5 ns 0.99
latency/precompile 36835531937.5 ns 37306529291.5 ns 0.99
latency/ttfp 2078879958 ns 2099857458 ns 0.99
metal/synchronization/context 460.43939393939394 ns 530.4404145077721 ns 0.87
metal/synchronization/stream 193.27896341463415 ns 277.0223642172524 ns 0.70

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

@maleadt maleadt merged commit a9f57f4 into main Jun 22, 2026
19 checks passed
@maleadt maleadt deleted the tb/mpssolve branch June 22, 2026 06:50
@christiangnrd

Copy link
Copy Markdown
Member

Closes #145?

This was referenced Jun 22, 2026
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.

Implement MPSMatrixSolve

2 participants