Introducing Igel chess engine

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

Moderator: Ras

User avatar
AlexChess
Posts: 1563
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Introducing Igel chess engine

Post by AlexChess »

voffka wrote: Sat Apr 17, 2021 3:42 pm
AlexChess wrote: Sat Apr 17, 2021 1:50 pm
If you could compile Igel 3.0.0 Neon also for macOS M1 native, I'll be very happy. I alternate the tests on all 3 operating systems using Arena (Win) , BanksiaGUI (Mac) and Cutechess (Ubuntu ARM64)
It is an interesting challenge because I have no Apple devices. I will see what I can do.
These are the benchmarks of Igel 3.0 NNUE compiled by Acepoint on macOS BIg Sur Silicon M1 native, using 4 CPUs: It's 2 times faster than on Windows 10 ARM64 emulated on Parallels (always with 4 CPUs) 7000k starting position, 9000k changed queens (middle game) 12.000k on endgame.

Image
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

AlexChess wrote: Tue Apr 20, 2021 6:29 pm These are the benchmarks of Igel 3.0 NNUE compiled by Acepoint on macOS BIg Sur Silicon M1 native, using 4 CPUs: It's 2 times faster than on Windows 10 ARM64 emulated on Parallels (always with 4 CPUs) 7000k starting position, 9000k changed queens (middle game) 12.000k on endgame.
Nice one. I would only stick to native run and avoid using the virtualization :)
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Hello Krzysztof,
Krzysztof Grzelak wrote: Tue Apr 20, 2021 9:57 pm Question to the author of the engine: what happens to this chess engine. That the engine does not start.
I would check the basics: if you are using the right version of Igel for your CPU: the official binaries support AVX2 and AVX512, so you need to check if your CPU supports that.
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Krzysztof Grzelak wrote: Wed Apr 21, 2021 9:23 am My CPU data is here: http://talkchess.com/forum3/viewtopic.php?f=6&t=77071
Your CPU is from 2009, it does not have a support for AVX2, only SSE. I will try to compile tonight a build of Igel specifically targeted for your ancient CPU :)
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Custom compiles of Igel 3.0.0 specifically targeted for their CPUs provided to Rebel and Krzysztof via PM.
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Igel 3.0.5

Post by voffka »

Image

Igel 3.0.5 at https://github.com/vshcherbyna/igel/releases/tag/3.0.5 (official executable binaries for Windows and IGN net).

This release brings significant improvements in search, time management and evaluation. I accidentally found a strong patch in search which brought around 12 elo in LTC in one shot. Overall strength increase due to search/time management improvements is around 20 elo, strength increase due to new network is 20 elo more. There are also some improvements in SMP mode that were quite good in short time controls: 15 elo, but hard to test on long time control as it will require a lot of computational power.

The new network ign-1-d593efbd is trained from scratch using nnue-pytorch on 12 billions of d8 positions using data from Igel 2.6.0 (HCE), Igel 2.9.0 (NNUE) and Igel 3.0.0 (NNUE) with a validation set of 10 million of d16 data generated using previous network ign-1-139b702b.

Enormous amount of computational power has been used to test this build on OpenBench, I would like to thank Andrew Grant and Bojun Guo (noobpwnftw) for supporting Igel project!

I would like to also thank authors of nnue-pytorch project for helping to make this release possible and more or less 'hassle free' training experience!

What's new:

- Train a new network using Igel 2.6.0 (HCE), Igel 2.9.0 (NNUE) and Igel 3.0.0 (NNUE) data: ign-1-d593efbd
- Better time management in sd time control
- Skip tt cutoff for null moves in search
- Skip null move prunning on tt hit
- Vote for best thread in SMP mode
- Less aggressive time use in non repeated tc

Regression run against Igel 3.0.0:

Long Time Control No Increment

Code: Select all

ELO   | 51.95 +- 2.85 (95%)
SPRT  | 60.0+0.0s Threads=1 Hash=64MB
LLR   | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20548 W: 5296 L: 2246 D: 13006
Long Time Control With Increment

Code: Select all

ELO   | 40.20 +- 2.74 (95%)
SPRT  | 60.0+0.6s Threads=1 Hash=64MB
LLR   | 0.00 (-2.94, 2.94) [0.00, 0.00]
Games | N: 20408 W: 4600 L: 2249 D: 13559
User avatar
Gabor Szots
Posts: 1594
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Introducing Igel chess engine

Post by Gabor Szots »

Thanks Volodymyr.

I understand you have to create a weights folder under src to compile it with an embedded net. But how do you compile it if you want to use an external net? In other words, what modifications shall I make to the makefile (I tried some to no avail)?
Gabor Szots
CCRL testing group
User avatar
Rebel
Posts: 7603
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Introducing Igel chess engine

Post by Rebel »

Volodymyr, thanks for the new Igel in the first place, you are going fast :wink: I have a wish, can you please put an executable for older computers standard on your Github page? An Ivibridge compile (ivibridge is from 2012-2015) would cover most older PC's I think.
90% of coding is debugging, the other 10% is writing bugs.
voffka
Posts: 297
Joined: Sat Jun 30, 2018 10:58 pm
Location: Ukraine
Full name: Volodymyr Shcherbyna

Re: Introducing Igel chess engine

Post by voffka »

Hello Gabor,
Gabor Szots wrote: Wed Apr 28, 2021 8:25 am Thanks Volodymyr.

I understand you have to create a weights folder under src to compile it with an embedded net. But how do you compile it if you want to use an external net? In other words, what modifications shall I make to the makefile (I tried some to no avail)?
It is possible to adjust those things in makefie and embed other networks in Igel as long as architecture matches. But keep in mind that the end result will not be Igel engine - it will be something else as other networks will not qualify for Igel Generation Network rules I mentioned some time ago (https://github.com/vshcherbyna/igel#ige ... tworks-ign).

At the same time Igel is open source and anyone can do anything with it as long as GPL3 license is not violated :) Please reach out to me via PM to explain in more details what you are trying to do :), perhaps I can help.
bastiball
Posts: 5417
Joined: Tue Oct 20, 2020 4:18 am
Full name: Basti Dangca

Re: Introducing Igel chess engine

Post by bastiball »

Mr. Voff,

Congrats! :D :D
Basti Dangca
CCRL testing group