Implement proper stop signalling from root node

Previous behavior was to wait on all nodes to finish their search on their own TM and aggregate to root node via a blocking MPI_Allreduce call. This seems to be problematic.

In this commit a proper non-blocking signalling barrier was implemented to use TM from root node to control the cluster search, and disable TM on all non-root nodes.

Also includes some cosmetic fix to the nodes/NPS display.
This commit is contained in:
noobpwnftw
2018-12-29 15:34:55 +01:00
committed by Stéphane Nicolet
parent 3b7b632aa5
commit 8a95d269eb
6 changed files with 48 additions and 6 deletions
+4
View File
@@ -69,6 +69,8 @@ inline bool is_root() { return rank() == 0; }
void save(Thread* thread, TTEntry* tte,
Key k, Value v, Bound b, Depth d, Move m, Value ev);
void reduce_moves(MoveInfo& mi);
void sync_start();
void sync_stop();
#else
@@ -86,6 +88,8 @@ inline void save(Thread* thread, TTEntry* tte,
tte->save(k, v, b, d, m, ev);
}
inline void reduce_moves(MoveInfo&) { }
inline void sync_start() { }
inline void sync_stop() { }
#endif /* USE_MPI */