mirror of
https://github.com/official-stockfish/Stockfish.git
synced 2026-07-23 13:17:12 +00:00
[cluster] keep track of node counts cluster-wide.
This generalizes exchange of signals between the ranks using a non-blocking all-reduce. It is now used for the stop signal and the node count, but should be easily generalizable (TB hits, and ponder still missing). It avoids having long-lived outstanding non-blocking collectives (removes an early posted Ibarrier). A bit too short a test, but not worse than before: Score of new-r4-1t vs old-r4-1t: 459 - 401 - 1505 [0.512] 2365 Elo difference: 8.52 +/- 8.43
This commit is contained in:
committed by
Stéphane Nicolet
parent
2f882309d5
commit
87f0fa55a0
+8
-6
@@ -74,9 +74,10 @@ int rank();
|
||||
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 pick_moves(MoveInfo& mi);
|
||||
void sum(uint64_t& val);
|
||||
void sync_start();
|
||||
void sync_stop();
|
||||
uint64_t nodes_searched();
|
||||
void signals_init();
|
||||
void signals_poll();
|
||||
void signals_sync();
|
||||
|
||||
#else
|
||||
|
||||
@@ -88,9 +89,10 @@ constexpr int rank() { return 0; }
|
||||
constexpr bool is_root() { return true; }
|
||||
inline void save(Thread*, TTEntry* tte, Key k, Value v, Bound b, Depth d, Move m, Value ev) { tte->save(k, v, b, d, m, ev); }
|
||||
inline void pick_moves(MoveInfo&) { }
|
||||
inline void sum(uint64_t& ) { }
|
||||
inline void sync_start() { }
|
||||
inline void sync_stop() { }
|
||||
uint64_t nodes_searched();
|
||||
inline void signals_init() { }
|
||||
inline void signals_poll() { }
|
||||
inline void signals_sync() { }
|
||||
|
||||
#endif /* USE_MPI */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user