Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
7fc3df7
Add simulated annealing runner and update CMake configuration
Sep 29, 2025
af88607
Add test for parallel simulation of QUBO optimization using sequentia…
Sep 29, 2025
32c8a59
Not everything is broken
GiovaGa Oct 16, 2025
0243820
Bug fixes and debugging things in simulated_annealing_RE
GiovaGa Oct 17, 2025
68bb6e9
Added documentation to simulated_annealing_re + bugfixing
GiovaGa Oct 17, 2025
002f6bb
Functions now no longer allocate vectors internally
GiovaGa Oct 21, 2025
06fd2dd
Masked rows sweep works -- needs cleanup
GiovaGa Oct 23, 2025
5717bbe
Cleanup and test with different types
GiovaGa Oct 23, 2025
aca5145
Cleanup and better temporary data passing to sweep function
GiovaGa Oct 28, 2025
f15853a
Cleanup of useless ring parameter + function type templated
GiovaGa Oct 30, 2025
03945e1
Spmd with broadcast - to be tested
GiovaGa Oct 31, 2025
10245c7
Restructuring and making spmd work - almost
GiovaGa Nov 5, 2025
b20b71d
Simplified signature of simulated_annealing_RE
GiovaGa Nov 7, 2025
8c4cae6
Added signatures for builtin SA optimization of common problems
GiovaGa Nov 7, 2025
2993db6
Cleanup
GiovaGa Nov 11, 2025
e79eb09
Changed signature of simulated_annealing_re to return single best sol…
GiovaGa Nov 11, 2025
625ceb3
Added descriptors in simulated_annealing functions
GiovaGa Nov 11, 2025
e4b9624
Added implementation of simulated_annealing_RE_Ising and simulated_an…
GiovaGa Nov 11, 2025
8834efa
Added some documentation about simulated_annealing
GiovaGa Nov 11, 2025
917db96
Added simple working matrix partitioning/graph coloring algorithm
GiovaGa Nov 13, 2025
0869382
Many improvements in matrix_partition and simulated_annealing_RE_Ising
GiovaGa Nov 14, 2025
a1d8f51
renamed simulated_annealing_re.cpp to simulated_annealing_re_ising.cpp
GiovaGa Nov 14, 2025
cdd1478
Updating tests after changes in simulated_annealing
GiovaGa Nov 14, 2025
4ca0463
Many changes around (eg string -> char[]) to run bsp1d backend correctly
GiovaGa Nov 18, 2025
748dd1a
Added small test of simulated_annealing
GiovaGa Nov 18, 2025
43c7e87
Suppressing warnings in release + removed debug prints
GiovaGa Nov 18, 2025
6dd29ad
fixup! Added small test of simulated_annealing
GiovaGa Nov 18, 2025
e8c093b
Fixes and additional checks for spmd variant
GiovaGa Nov 20, 2025
dbff92a
Changed behavior: if no h provided assume zero
GiovaGa Nov 20, 2025
ebaa81c
fixup! Changed behavior: if no h provided assume zero
GiovaGa Nov 20, 2025
0d6c6b5
Some slight performance improvemnts
GiovaGa Nov 25, 2025
39f5b2e
Replaced eWiseLambda with fold in Simulated Annealing
GiovaGa Nov 26, 2025
2629626
Reduced number of folds in simulated annealing sweep
GiovaGa Nov 27, 2025
8144c4e
Small improvements and fixes. Temperature is no longer constant + man…
GiovaGa Nov 28, 2025
2a210d7
Many small improvements and fixes. Temperature is no longer constant …
GiovaGa Jan 7, 2026
6ee2840
fixup! Small improvements and fixes. Temperature is no longer constan…
GiovaGa Nov 28, 2025
969895e
Testing setup
GiovaGa Nov 28, 2025
d761077
fixup! Testing setup
GiovaGa Jan 7, 2026
b072da9
Communicate states only if necessary - big time saving
GiovaGa Nov 28, 2025
e88a9bc
Fixed seeding
GiovaGa Jan 7, 2026
ed94e16
Some changes and improvements: SPMD now uses simulated_annealing_RE_I…
GiovaGa Jan 7, 2026
1dcde9e
Some changes and improvements: SPMD now uses simulated_annealing_RE_I…
GiovaGa Dec 3, 2025
80df8ef
Corrected SPMD PT swap
GiovaGa Dec 3, 2025
20d9a84
Cleanup of SPMD
GiovaGa Dec 10, 2025
e279a5d
Added reference energy goal for early stop
GiovaGa Dec 10, 2025
7bbf178
Fixed birthday paradox bug in matrix_partition
GiovaGa Dec 16, 2025
3360343
Reproducible results with different number of processes
GiovaGa Dec 18, 2025
812a969
Back to random behavior
GiovaGa Dec 18, 2025
0104128
Fixed geometric temperature gradient
GiovaGa Jan 7, 2026
6cb4946
Added more debug tests + seeding in simulated_annealing_ising affects
GiovaGa Jan 8, 2026
fd31825
Test with no masking
GiovaGa Jan 7, 2026
6c6a1b9
Revert "Test with no masking"
GiovaGa Jan 9, 2026
626b41f
Substituted typeof with decltype
GiovaGa Jan 9, 2026
0ed16a2
Added simulated annealing test with planted solution
GiovaGa Jan 9, 2026
ebc1f62
fixup! Added more debug tests + seeding in simulated_annealing_ising …
GiovaGa Jan 9, 2026
88da2c0
fixup! Added simulated annealing test with planted solution
GiovaGa Jan 13, 2026
a0cbab8
New planted QUBO instance strategy - not yet using both
GiovaGa Jan 16, 2026
e924e73
Added some input checks in simulated_annealing
GiovaGa Jan 16, 2026
bb61a9c
fixup! Added some input checks in simulated_annealing
GiovaGa Jan 20, 2026
1110aba
Added random permutation of instance
GiovaGa Jan 20, 2026
9bfdac5
Nice geometric spacing of temperatures
GiovaGa Jan 26, 2026
8d2cc5e
Added timeout parameter
GiovaGa Jan 26, 2026
53f2e40
fixup! Added random permutation of instance
GiovaGa Jan 23, 2026
93f23aa
fixup! Added timeout parameter
GiovaGa Jan 26, 2026
1003815
Added iteration-sweep option
GiovaGa Jan 28, 2026
00ee718
Added timing info + small things
GiovaGa Jan 27, 2026
d72bf11
n_replicas parameter now refers to total number of replicas, that mus…
GiovaGa Feb 11, 2026
1d3a40b
Bug fixes and possible performance improvements in simulated_annealing
GiovaGa Feb 11, 2026
3e45f41
Option to apply exchange step every k iterations
GiovaGa Jan 29, 2026
5720794
Updated docs in simulated_annealing_re_*
GiovaGa Feb 19, 2026
8355264
Testing blockwise updates
GiovaGa Feb 19, 2026
d1eefe2
Reverted blockwise move generation
GiovaGa Feb 19, 2026
f15f3eb
Broadcast input
GiovaGa Feb 24, 2026
755fa46
Some fixes and improvements
GiovaGa Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
892 changes: 892 additions & 0 deletions include/graphblas/algorithms/simulated_annealing_re.hpp

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions tests/smoke/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,21 @@ add_grb_executables( conjugate_gradient_complex conjugate_gradient.cpp
COMPILE_DEFINITIONS _CG_COMPLEX
)

add_grb_executables( simulated_annealing_re_from_mpi simulated_annealing_re_from_mpi.cpp
BACKENDS bsp1d
ADDITIONAL_LINK_LIBRARIES test_utils_headers
)

add_grb_executables( simulated_annealing_re_ising simulated_annealing_re_ising.cpp
BACKENDS reference reference_omp hyperdags nonblocking
ADDITIONAL_LINK_LIBRARIES test_utils_headers
)

add_grb_executables( simulated_annealing_re_planted_sol simulated_annealing_re_planted_sol.cpp
BACKENDS reference reference_omp hyperdags nonblocking bsp1d
ADDITIONAL_LINK_LIBRARIES test_utils_headers
)

add_grb_executables( gmres gmres.cpp
BACKENDS reference reference_omp bsp1d hybrid hyperdags nonblocking
ADDITIONAL_LINK_LIBRARIES test_utils_headers
Expand Down
Loading
Loading