I want to rewrite my engine in a more structured way, and add multithreading to it. What I need is a good reference implementation of parallel search with some comments in source code. I took a look at Viper, but understood almost nothing. It does not even compile on my computer (MSVC 2008).
My current background is:
- understanding of general chess programming concepts to a certain degree (GreKo, CCRL ~2500)
- having read some PDFs about parallel algs: PV-Split, YBW, etc.
- more than 10 years experience in writing parallel applications for production (finance, telecom). So basic things like mutexes, events, race conditions etc. are familiar to me.
Now I wish to combine these parts of knowledge, but don't know where to start from
Could anybody please help? Thanks in advance.
Data structures for parallel search?
Moderators: hgm, Rebel, chrisw
-
- Posts: 267
- Joined: Fri Mar 17, 2006 8:01 am
- Location: Russia
- Full name: Vladimir Medvedev
-
- Posts: 217
- Joined: Fri Apr 11, 2014 10:45 am
- Full name: Fabio Gobbato
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Data structures for parallel search?
One easy suggestion is to look at most recent Crafty source. In particular, look at search.c and thread.c and read the comments. Some are quite long, but give detailed descriptions of what is done, when, how and why...WinPooh wrote:I want to rewrite my engine in a more structured way, and add multithreading to it. What I need is a good reference implementation of parallel search with some comments in source code. I took a look at Viper, but understood almost nothing. It does not even compile on my computer (MSVC 2008).
My current background is:
- understanding of general chess programming concepts to a certain degree (GreKo, CCRL ~2500)
- having read some PDFs about parallel algs: PV-Split, YBW, etc.
- more than 10 years experience in writing parallel applications for production (finance, telecom). So basic things like mutexes, events, race conditions etc. are familiar to me.
Now I wish to combine these parts of knowledge, but don't know where to start from
Could anybody please help? Thanks in advance.
-
- Posts: 267
- Joined: Fri Mar 17, 2006 8:01 am
- Location: Russia
- Full name: Vladimir Medvedev
Re: Data structures for parallel search?
Yes, this is almost exactly what I look for. Thanks a lot!Fabio Gobbato wrote:This topic was very useful to me
http://talkchess.com/forum/viewtopic.ph ... tithreaded
Thank you! How could I forget about Crafty? Back when I was writing early versions of GreKo I had tried and tested tons of ideas from development log in Crafty's main.c...Robert Hyatt wrote:One easy suggestion is to look at most recent Crafty source. In particular, look at search.c and thread.c and read the comments. Some are quite long, but give detailed descriptions of what is done, when, how and why...
-
- Posts: 892
- Joined: Sun Nov 19, 2006 9:16 pm
- Location: Russia
Re: Data structures for parallel search?
Free Version of Visual Studio Professional 2013!WinPooh wrote:It does not even compile on my computer (MSVC 2008).