up to 32 parallel threads resp. workers. With more than 32 workers there is not
much to gain, tested it with up to 256 workers, but not at longer time controls.
Looking at the algorithm and game tree, I think by adding another defer step
there could be something gained.
From CPW, https://www.chessprogramming.org/ABDADA
Code: Select all
5. The analysis of a position is done in three phases:
1.The eldest son is analyzed, regardless of the activities of other processors
2.Next, all other sons not currently being analyzed by other processors are analyzed
3.In the final phase, any remaining sons not yet analyzed are searched, i.e. the corresponding entry in the TT indicates this node and its siblings have not been searched to the required depth
Between phase 2. and 3. there could be a clause added:
Code: Select all
If all other sons are already analyzed by other processors,
then return to parent node, continue with next move, and set flag for second iteration (phase #3).
all remaining sons which search has not yet finished (depth reached) has to be searched.
Unfortunately, I have no workstation atm to test this, so what is your opinion?
--
Srdja