Some time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
forum3/viewtopic.php?f=7&t=78598&p=9112 ... id#p911205
Moderator: Ras
Some time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
So APHID is the best parallel algo?Desperado wrote: ↑Fri Dec 17, 2021 3:38 pmSome time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
forum3/viewtopic.php?f=7&t=78598&p=9112 ... id#p911205
I like montecarlo. It has the nice side effect of being game agnostic as well..
Afaik (my information may be out-dated) stockfish uses lazy SMP, which basically means starting all threads on the same node, and since there will be timing differences between them they help each other in populating the transposition table. That really has nothing to do with what you suggest.
Indeed. Go figure why... (hint: you are asking for something that is impossible).
Well, not only SF is multithreaded. Most (advanced) engines today are multithreaded of course.dangi12012 wrote: ↑Fri Dec 17, 2021 4:00 pmSo APHID is the best parallel algo?Desperado wrote: ↑Fri Dec 17, 2021 3:38 pmSome time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
forum3/viewtopic.php?f=7&t=78598&p=9112 ... id#p911205
I dont understand how SF is multithreaded if everyone here says its so impossible except APHID (which SF doesnt use?).
Your information is outdated regarding smp. Why comment that something is impossible. Its like on stackoverflow where 9 people say its impossible and 1 person provides the perfect answer.R. Tomasi wrote: ↑Fri Dec 17, 2021 4:10 pmAfaik (my information may be out-dated) stockfish uses lazy SMP, which basically means starting all threads on the same node, and since there will be timing differences between them they help each other in populating the transposition table. That really has nothing to do with what you suggest.
There are other algorithms, too, but they all stuggle because AB is intrinsically serial.
Thank you! That was i was looking for.Desperado wrote: ↑Fri Dec 17, 2021 4:44 pmWell, not only SF is multithreaded. Most (advanced) engines today are multithreaded of course.dangi12012 wrote: ↑Fri Dec 17, 2021 4:00 pmSo APHID is the best parallel algo?Desperado wrote: ↑Fri Dec 17, 2021 3:38 pmSome time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
forum3/viewtopic.php?f=7&t=78598&p=9112 ... id#p911205
I dont understand how SF is multithreaded if everyone here says its so impossible except APHID (which SF doesnt use?).
The fact that AB is basically a serial algorithm does not mean paralism is not possible.
The nature of AB is not optimal for parallel search, that is the point. (This is a completely different conclusion)
If you understand the reason, you will create own ideas and solutions others already had 5,10,20 and 40 years ago.
APHID addresses the synchronization problem that is caused by a serial algorithm. (at least now you should begin to understand).
There are many ways to parallelize AB, all with strong and weak points. Many of them try to speedup AB, but others like Lazy SMP
do not intend to be faster but provide qualitiy gain in the search without explizit sychronization or give more freedom with effect and code complexity.
So, APHID is not the best in any way. But i doubt there is a best in general without a concrete context or existing frame for implementation.
Well, you did not listen carefully.dangi12012 wrote: ↑Fri Dec 17, 2021 5:38 pmThank you! That was i was looking for.Desperado wrote: ↑Fri Dec 17, 2021 4:44 pmWell, not only SF is multithreaded. Most (advanced) engines today are multithreaded of course.dangi12012 wrote: ↑Fri Dec 17, 2021 4:00 pmSo APHID is the best parallel algo?Desperado wrote: ↑Fri Dec 17, 2021 3:38 pmSome time ago ...dangi12012 wrote: ↑Fri Dec 17, 2021 3:26 pm ...
Then I was suggested this: https://www.chessprogramming.org/APHID
...
forum3/viewtopic.php?f=7&t=78598&p=9112 ... id#p911205
I dont understand how SF is multithreaded if everyone here says its so impossible except APHID (which SF doesnt use?).
The fact that AB is basically a serial algorithm does not mean paralism is not possible.
The nature of AB is not optimal for parallel search, that is the point. (This is a completely different conclusion)
If you understand the reason, you will create own ideas and solutions others already had 5,10,20 and 40 years ago.
APHID addresses the synchronization problem that is caused by a serial algorithm. (at least now you should begin to understand).
There are many ways to parallelize AB, all with strong and weak points. Many of them try to speedup AB, but others like Lazy SMP
do not intend to be faster but provide qualitiy gain in the search without explizit sychronization or give more freedom with effect and code complexity.
So, APHID is not the best in any way. But i doubt there is a best in general without a concrete context or existing frame for implementation.
It seems that for this problem the way to go would be:
- Monte Carlo
- APHID
- The same implementation SF uses for its multithreading approach. (Some people here said its impossible but stockfish uses MT already so....)
Does anyone here know what SF uses internally for its MT magic or is it best to just read the sourcecode?