Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
pohl4711
Posts: 2705
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by pohl4711 »

pohl4711 wrote: Mon Jun 07, 2021 7:57 am
I just received Ethereal 13.00 for free from A.Grant (thanks!). Testrun started. Result, if all works correctly, on wednesday on my website.
Bad news:
My main test-machine (my Ryzen 3900 Notebook) is out of order (screen is dead) (good news: ongoing guarantee). Tomorrow I will contact the XMG-company. I hope, the repair wont take very long. I will report here, if there are any news.

The Ethereal 13 testrun was not finished. I will restart this run immediately, when the machine is back and running, again. Sorry for the delay to A.Grant, who gave me a free version of Ethereal 13.00 nnue (much appreciated).
AndrewGrant
Posts: 1955
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by AndrewGrant »

pohl4711 wrote: Mon Jun 07, 2021 7:33 pm
pohl4711 wrote: Mon Jun 07, 2021 7:57 am
I just received Ethereal 13.00 for free from A.Grant (thanks!). Testrun started. Result, if all works correctly, on wednesday on my website.
Bad news:
My main test-machine (my Ryzen 3900 Notebook) is out of order (screen is dead) (good news: ongoing guarantee). Tomorrow I will contact the XMG-company. I hope, the repair wont take very long. I will report here, if there are any news.

The Ethereal 13 testrun was not finished. I will restart this run immediately, when the machine is back and running, again. Sorry for the delay to A.Grant, who gave me a free version of Ethereal 13.00 nnue (much appreciated).
No rush. Depending on the rating list, I have a good guess as to the elo changes. CCRL maybe +60 as their list is a bit top-heavy compressed, FGRL maybe the full +120 as it plays against the entire field. Thanks for testing :)
AndrewGrant
Posts: 1955
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by AndrewGrant »

I have finished adding support for AVX2, AVX, and then a fallback of SSSE3. According to Steam's (Valve) Hardware survery, 99.23% of machines are running processors with SSSE3. Which makes sense, since I am told that Windows 8/10 require CPUs with those instructions, or at least SSE3.

So for all intents and purposes, any Linux or Windows box which can run popcnt engines can now run Ethereal's NNUE version. Surprisingly, the speed drop from AVX to SSSE3 is quite small, due to the majority of my operations being int16_t, which are not as well supported with AVX. So this might be a niche case where Ethereal edges out the competition more so on an AVX machine than on AVX2 one.

Last remaining steps are more automation, and another vendor. Afterwards, I'll make one final thread on talkchess. I got a few emails from people asking about older systems, so I can assume there are some who did not reach out after seeing a lack of support for their system, or issues with the vendor. I don't want to spam talkchess, but I also don't want anyone missing out.

If there is someone out there who lacks SSSE3... I might just make a binary and send it to you for my own curiosity lol. 32-bit is a no go though.
Modern Times
Posts: 3703
Joined: Thu Jun 07, 2012 11:02 pm

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by Modern Times »

Quick question. In terms of entering the NNUE in UCI parameters, do you need to put in the full path, or just the file name if it is in the same folder as the exe ?
AndrewGrant
Posts: 1955
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by AndrewGrant »

Modern Times wrote: Mon Jun 07, 2021 11:46 pm Quick question. In terms of entering the NNUE in UCI parameters, do you need to put in the full path, or just the file name if it is in the same folder as the exe ?
If they are in the same folder, just the filename should work. However, programs like cutechess let you set engine directorities via the command line, which confuses things. For sanity, I would use the full path.

However, if you don't, you will know because Ethereal will play like an absolute idiot and suddenly be down a significant of elo.
Wolfgang
Posts: 978
Joined: Sat May 13, 2006 1:08 am

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by Wolfgang »

Best
Wolfgang
CEGT-Team
www.cegt.net
www.cegt.forumieren.com
Modern Times
Posts: 3703
Joined: Thu Jun 07, 2012 11:02 pm

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by Modern Times »

AndrewGrant wrote: Mon Jun 07, 2021 11:51 pm
Modern Times wrote: Mon Jun 07, 2021 11:46 pm Quick question. In terms of entering the NNUE in UCI parameters, do you need to put in the full path, or just the file name if it is in the same folder as the exe ?
If they are in the same folder, just the filename should work. However, programs like cutechess let you set engine directories via the command line, which confuses things. For sanity, I would use the full path.

However, if you don't, you will know because Ethereal will play like an absolute idiot and suddenly be down a significant of elo.
I use cutechess GUI which sets the working directory which is the folder that the engine resides in. That should help rather than hinder.

It is a gain for me over 12.75 but not 120 Elo and not even 60, so I'm not so sure if it is working as it should. I'll investigate.
AndrewGrant
Posts: 1955
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by AndrewGrant »

Modern Times wrote: Tue Jun 08, 2021 3:57 am
AndrewGrant wrote: Mon Jun 07, 2021 11:51 pm
Modern Times wrote: Mon Jun 07, 2021 11:46 pm Quick question. In terms of entering the NNUE in UCI parameters, do you need to put in the full path, or just the file name if it is in the same folder as the exe ?
If they are in the same folder, just the filename should work. However, programs like cutechess let you set engine directories via the command line, which confuses things. For sanity, I would use the full path.

However, if you don't, you will know because Ethereal will play like an absolute idiot and suddenly be down a significant of elo.
I use cutechess GUI which sets the working directory which is the folder that the engine resides in. That should help rather than hinder.

It is a gain for me over 12.75 but not 120 Elo and not even 60, so I'm not so sure if it is working as it should. I'll investigate.
Highly dependent on the binary you are using. +120 is the selfplay figure. Regression testing at CCRL TC's was +70, which is usually in the ballpark of what ends up being seen on the list. But this would be the AVX2 binary.

If you drop down to even AVX, yet alone SSSE3, you are slowing the engine down by 30%, 40% even, which at bullet (or effective bullet via weak CPUs) is upwards of -40 elo. And if playing against classical opponents, that is going to cost significant elo especially with the CCRL time controls, where as playing against NNUE opponents the differences would even out. I just finished firing off an email to Graham saying as much. This is why I was extremely hesitant to release anything worse than AVX2. Good chess requires good machine power.

If you see any elo gain at all, then the Network is working as intended. Not having a working Network would be - hundreds of elo, since the NNUE would be spitting out random evals essentially.
Modern Times
Posts: 3703
Joined: Thu Jun 07, 2012 11:02 pm

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by Modern Times »

AndrewGrant wrote: Tue Jun 08, 2021 4:44 am If you see any elo gain at all, then the Network is working as intended. Not having a working Network would be - hundreds of elo, since the NNUE would be spitting out random evals essentially.
OK great news, thanks for confirming.

I am indeed running the Ethereal-13.00-pext-avx2 executable.
AndrewGrant
Posts: 1955
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Commercial Release of Ethereal 13.00 (NNUE) for AVX2 Systems

Post by AndrewGrant »

Modern Times wrote: Tue Jun 08, 2021 5:38 am
AndrewGrant wrote: Tue Jun 08, 2021 4:44 am If you see any elo gain at all, then the Network is working as intended. Not having a working Network would be - hundreds of elo, since the NNUE would be spitting out random evals essentially.
OK great news, thanks for confirming.
I am indeed running the Ethereal-13.00-pext-avx2 executable.
Then I'de expect your test to eventually end in the 50-90 range. But YMMV, and the opponent pool plays a role in whether it hits the upper end or the lower end. Ethereal tends to lose to Stockfish and its derivatives (NNUE wise, or Fire / Houdini) more so than it loses to the rest of the AB field. That can be seen on CCRLs elo diffs on individual breakdowns quite broadly over the last few releases. So a pool with stockfishes will deflate the rating. A pool with only Komodo, Xiphos, Laser, Igel (original net version), will inflate the rating.

:shrug: Shall see. Not too concerned either way, as selfplay testing has proved itself reliable for years now :D

For sanity's sake, here is the regression test with the 8movesv3 book and LTC (60s here, but effectively 100s due to OpenBench worker speeds, scaled to Fishtest). http://chess.grantnet.us/test/11256/ [ELO | 76.31 +- 6.21 (95%)] This method has been the predictor for Ethereal at CCRL for the last few years, and is generally in the ball park. Where as most other lists see variations based on their book preferences.