Schooner Version 2.2 Release
Moderators: hgm, Rebel, chrisw
-
- Posts: 550
- Joined: Tue Nov 19, 2019 8:48 pm
- Full name: Alayan Feh
Re: Schooner Version 2.2 Release
I'd be happy to see how the latest Schooner does in tournaments. I remember it had poor SMP scaling one year ago, has this been improved on ? I hope someone will volunteer to be the contact with these tournaments. I can't do it as I'm already doing so for Stockfish, but from this experience I can tell it's usually not too demanding.
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Schooner Version 2.2 Release
What do you mean by poor SMP scaling? Could you be more specific? The threading was crashing sometimes during multiple instances of concurrent games on CuteChess. A change was made to the polling thread to fix this. Maybe that was the problem you experienced.
-
- Posts: 550
- Joined: Tue Nov 19, 2019 8:48 pm
- Full name: Alayan Feh
Re: Schooner Version 2.2 Release
By poor SMP scaling, I mean that the elo gains from additional cores/threads were significantly lower for Schooner than for most engines. Not really a worry at 2C or 4C where the gains are still good, but significant on tournament hardware with dozens of cores.
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Schooner Version 2.2 Release
I do not have dozens of cores to test with unfortunately. Schooner uses Shared Hash Table threading, and there is a noticeable collision on the main bus transfer with increasing number of cores. Threading is theoretically available up to 128 cores, but eight is probably the maximum thread usefulness. On the other hand, Shared Hash Table threading is easy to implement and debug. Prefetch() is used in the SSE version which might help a little.Alayan wrote: ↑Thu Dec 26, 2019 8:25 pm By poor SMP scaling, I mean that the elo gains from additional cores/threads were significantly lower for Schooner than for most engines. Not really a worry at 2C or 4C where the gains are still good, but significant on tournament hardware with dozens of cores.
-
- Posts: 550
- Joined: Tue Nov 19, 2019 8:48 pm
- Full name: Alayan Feh
Re: Schooner Version 2.2 Release
Most engines nowadays use "LazySMP" based approaches, which derive from the shared hash table concept, and actually scale quite well elo-wise with many threads (best approach known for 16+, and good for 8 or less). Open source code to study is available from Stockfish, Ethereal, and many others, and if you made a more detailed post about your current approach and issues in the technical discussion subforum, I'm sure you'd find other authors willing to give advice.
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Schooner Version 2.2 Release
Not everybody's advice seems to work well for me. For example, Bob Hyatt recommended assigning CPU affinity to each thread. I tried again using SetProcessAffinityMask() just today, but the results were disastrous. I suspect Windows thread handlers for my i9 expect something different. The DWORD indicates the possibility of a maximum 32 or 64 threads for affinity. This is the windows code segment:Alayan wrote: ↑Wed Jan 01, 2020 4:48 pm Most engines nowadays use "LazySMP" based approaches, which derive from the shared hash table concept, and actually scale quite well elo-wise with many threads (best approach known for 16+, and good for 8 or less). Open source code to study is available from Stockfish, Ethereal, and many others, and if you made a more detailed post about your current approach and issues in the technical discussion subforum, I'm sure you'd find other authors willing to give advice.
Code: Select all
#if !defined(LINUX)
#include <windows.h>
#else
#include <sched.h>
#endif
HANDLE process;
DWORD_PTR processAffinityMask;
BOOL success;
process = GetCurrentProcess();
processAffinityMask = 1 << sd->ID;
success = SetProcessAffinityMask(process, processAffinityMask);
printf("ID %d affinity success %d\n",sd->ID,(int) success);
I tried using Andrew Grants staggered depth for threads method (some people might call this lazy SMP) but found no strength increase. Andrew used to discuss chess a lot in TLCV chat window, but apparently now has difficulty logging on.
You can find a lot of discussion about threading posted by me in various places, for example:
http://talkchess.com/forum3/viewtopic.p ... ad#p780051
This one on aspiration was eventually a failure.
-
- Posts: 326
- Joined: Mon May 24, 2010 4:32 pm
Re: Schooner Version 2.2 Release
Thank you very much Dennis !!
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Schooner Version 2.2 Release
Schooner2.2 is temporarily unavailable for download. Surprisingly, I am e-bombed with requests for access, even after all this time.
The problem is that Google Sites is changing to a new format and requires a transfer of material from the old site to the new site. During the transfer it wiped out all of my available uploads. At the moment there seems to be no way of restoring this. Google sites claims it can redirect uploads now from another account - Google Drive. But I cannot get Google Drive links to be open and viewable to the public yet. Nor can I get Google Drive to transfer links to Google Sites.
If anyone has a link for Schooner2.2.zip they should post it here.
The problem is that Google Sites is changing to a new format and requires a transfer of material from the old site to the new site. During the transfer it wiped out all of my available uploads. At the moment there seems to be no way of restoring this. Google sites claims it can redirect uploads now from another account - Google Drive. But I cannot get Google Drive links to be open and viewable to the public yet. Nor can I get Google Drive to transfer links to Google Sites.
If anyone has a link for Schooner2.2.zip they should post it here.
-
- Posts: 512
- Joined: Tue Sep 29, 2020 4:29 pm
- Location: Dublin, Ireland
- Full name: Madeleine Birchfield
Re: Schooner Version 2.2 Release
Do you intend on implementing NNUE in Schooner?
-
- Posts: 570
- Joined: Mon Jul 20, 2015 5:06 pm
Re: Schooner Version 2.2 Release
I am looking at this now. The answer will probably be no.Madeleine Birchfield wrote: ↑Fri Oct 16, 2020 7:08 pm Do you intend on implementing NNUE in Schooner?