Skip to content

Commit e79f66f

Browse files
committed
Some fixes and improvements in SARE
1 parent 9aba6f7 commit e79f66f

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

include/graphblas/algorithms/simulated_annealing_re.hpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@
3333
#include <algorithm>
3434
#include <cstdlib>
3535
#include <cmath>
36+
37+
#if __has_include("mpi.h")
3638
#include <mpi.h>
39+
#endif
3740

3841
#ifdef TIMING
3942
#include <iomanip>
@@ -103,6 +106,7 @@ namespace grb {
103106
return rc;
104107
}
105108

109+
#if __has_include("mpi.h")
106110
template<
107111
typename TempType,
108112
typename EnergyType
@@ -151,9 +155,6 @@ namespace grb {
151155
msg = new struct data< TempType, EnergyType > [2];
152156
pt_tmp = new grb::Vector< StateType, backend >( n );
153157
rc = rc ? rc : grb::set( *pt_tmp, static_cast< StateType >( 0 ) );
154-
// rc = rc ? rc : grb::rdma<>::register_global( msg[ 0 ] );
155-
// rc = rc ? rc : grb::rdma<>::register_global( msg[ 1 ] );
156-
// rc = rc ? rc : grb::rdma<>::register_global( *pt_tmp );
157158
}
158159
grb::Vector< StateType, backend > &tmp = *pt_tmp;
159160

@@ -182,7 +183,6 @@ namespace grb {
182183
rc = rc ? rc : grb::setElement( energies, msg[ 1 ].e, n_replicas - 1 );
183184
}
184185
}
185-
// std::cerr << s << " " << "A done." << std::endl;
186186

187187
for( size_t i = n_replicas - 1 ; i > 0 ; --i ){
188188
const EnergyType de = ( energies[ i ] - energies[ i-1 ]) * (betas[ i ] - betas[ i-1 ]);
@@ -221,6 +221,7 @@ namespace grb {
221221
#endif
222222
return rc;
223223
}
224+
#endif
224225

225226

226227
/*
@@ -406,13 +407,15 @@ namespace grb {
406407
// TODO: update best state to match best energy
407408
}
408409

410+
#if __has_include("mpi.h")
409411
if( msg != nullptr ){
410412
// rc = rc ? rc : grb::rdma<>::deregister( msg[ 0 ] );
411413
// rc = rc ? rc : grb::rdma<>::deregister( msg[ 1 ] );
412414
// rc = rc ? rc : grb::rdma<>::deregister( *pt_tmp );
413415
delete msg; msg = nullptr;
414416
delete pt_tmp; pt_tmp = nullptr;
415417
}
418+
#endif
416419
return rc;
417420
}
418421

@@ -496,7 +499,7 @@ namespace grb {
496499
}
497500

498501
// add new mask
499-
masks.emplace_back( grb::Vector< bool, backend >( n ) );
502+
masks.emplace_back( grb::Vector< MaskType, backend >( n ) );
500503
auto &new_mask = masks.at(i);
501504
rc = rc ? rc : grb::resize( new_mask, n );
502505
rc = rc ? rc : grb::set< descr >( new_mask, frontier, static_cast< MaskType >(true) );
@@ -618,7 +621,7 @@ namespace grb {
618621

619622
#ifdef TIMING
620623
if( s == 0 ){
621-
std::cerr << "Starting simulated_annealing_RE_ising" << "\n";
624+
std::cerr << "Starting simulated_annealing_RE_Ising" << "\n";
622625
}
623626
auto start = std::chrono::high_resolution_clock::now();
624627
#endif
@@ -682,7 +685,8 @@ namespace grb {
682685
start = std::chrono::high_resolution_clock::now();
683686
#endif
684687

685-
std::vector< grb::Vector< bool, backend > > masks ;
688+
using MaskType = bool;
689+
std::vector< grb::Vector< MaskType, backend > > masks ;
686690
rc = rc ? rc : matrix_partition< descr >( masks, couplings, h, rand, seed );
687691
#ifdef TIMING
688692
end = std::chrono::high_resolution_clock::now();
@@ -896,7 +900,7 @@ namespace grb {
896900
EnergyType &best_energy,
897901
const size_t &n_sweeps,
898902
const EnergyType &goal = 0,
899-
const size_t &pt_time = false,
903+
const size_t &pt_time = 0,
900904
const int seed = 42,
901905
const Ring &ring = Ring()
902906
){

0 commit comments

Comments
 (0)