Minic version 3

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

Moderator: Ras

User avatar
Rebel
Posts: 7381
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Minic version 3

Post by Rebel »

xr_a_y wrote: Sat Aug 21, 2021 5:34 pm Important bug fix release : Minic 3.13
Available here : https://github.com/tryingsomestuff/Mini ... ter/Minic3

This release is fixing a speed issue for non-AVX2 build of Minic since version 3.07.
The expected strength increase for SSE and AVX system is major.

Some little improvements of the engine also make this release a little better for AVX2 system.
I am running it, 1800 games. Unfortunately no live support this time.
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7381
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Minic version 3

Post by Rebel »

Seems you are right about the compiles, Minic 3.13 is half way and doing fine.

Code: Select all

   # PLAYER             :  RATING  POINTS  PLAYED   (%)
   1 Stash_31.0         :  3189.3    56.5     104    54
   2 Halogen_10         :  3172.4    54.0     104    52
   3 Wasp_4.50          :  3172.4    54.0     104    52
   4 Clover_2.3.1       :  3162.3    52.0     103    50
   5 Minic_3.13         :  3158.9   517.0     935    55
   6 Seer_2.0.1         :  3155.6    51.5     104    50
   7 Combusken_1.4.0    :  3135.3    48.5     104    47
   8 Weiss_1.3          :  3121.7    46.5     104    45
   9 Orion_0.8          :  3051.2    36.5     104    35
  10 Marvin_5.1         :  2890.7    18.5     104    18  
Minic 3.08 : 3093
Minic 3.13 : 3158
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 7381
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Minic version 3

Post by Rebel »

90% of coding is debugging, the other 10% is writing bugs.
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

Rebel wrote: Sun Aug 22, 2021 9:31 am Minic 3.13 +71

Congrats :wink:

Details - https://prodeo.actieforum.com/t358p25-g ... sults#4206
Thanks for testing.
adnoh
Posts: 76
Joined: Tue Jun 26, 2007 6:31 am
Full name: Charles Wong

Re: Minic version 3

Post by adnoh »

xr_a_y wrote: Sat Aug 21, 2021 5:34 pm Important bug fix release : Minic 3.13
Available here : https://github.com/tryingsomestuff/Mini ... ter/Minic3

This release is fixing a speed issue for non-AVX2 build of Minic since version 3.07.
The expected strength increase for SSE and AVX system is major.

Some little improvements of the engine also make this release a little better for AVX2 system.
Thanks for this release as I my testing also show genuine gains. I have an Intel Sandybridge and was beginning to wonder whether it was just me who saw no gains and even some regression between 3.07 and 3.13.

May I suggest either removing the buggy builds on github or at least make clear on the 3.13 builds that this is an important fix and should avoid using the non-AVX2 builds from 3.07 until at least 3.13?
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

adnoh wrote: Sun Aug 22, 2021 8:22 pm
xr_a_y wrote: Sat Aug 21, 2021 5:34 pm Important bug fix release : Minic 3.13
Available here : https://github.com/tryingsomestuff/Mini ... ter/Minic3

This release is fixing a speed issue for non-AVX2 build of Minic since version 3.07.
The expected strength increase for SSE and AVX system is major.

Some little improvements of the engine also make this release a little better for AVX2 system.
Thanks for this release as I my testing also show genuine gains. I have an Intel Sandybridge and was beginning to wonder whether it was just me who saw no gains and even some regression between 3.07 and 3.13.

May I suggest either removing the buggy builds on github or at least make clear on the 3.13 builds that this is an important fix and should avoid using the non-AVX2 builds from 3.07 until at least 3.13?
You got this right, non-AVX2 build from 3.07 to 3.12 are too slow.
So also you confirm that 3.13 is way stronger on sandybridge ?

I probably won't remove previous releases as most often people are using the last one and because they were tested.
adnoh
Posts: 76
Joined: Tue Jun 26, 2007 6:31 am
Full name: Charles Wong

Re: Minic version 3

Post by adnoh »

xr_a_y wrote: Sun Aug 22, 2021 8:43 pm
adnoh wrote: Sun Aug 22, 2021 8:22 pm
xr_a_y wrote: Sat Aug 21, 2021 5:34 pm Important bug fix release : Minic 3.13
Available here : https://github.com/tryingsomestuff/Mini ... ter/Minic3

This release is fixing a speed issue for non-AVX2 build of Minic since version 3.07.
The expected strength increase for SSE and AVX system is major.

Some little improvements of the engine also make this release a little better for AVX2 system.
Thanks for this release as I my testing also show genuine gains. I have an Intel Sandybridge and was beginning to wonder whether it was just me who saw no gains and even some regression between 3.07 and 3.13.

May I suggest either removing the buggy builds on github or at least make clear on the 3.13 builds that this is an important fix and should avoid using the non-AVX2 builds from 3.07 until at least 3.13?
You got this right, non-AVX2 build from 3.07 to 3.12 are too slow.
So also you confirm that 3.13 is way stronger on sandybridge ?

I probably won't remove previous releases as most often people are using the last one and because they were tested.
My test run not completed yet but currently +47 ELO from Minic 3.04 Noisy Notch (nehalem)
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: Minic version 3

Post by CMCanavessi »

xr_a_y wrote: Sun Aug 22, 2021 8:43 pm You got this right, non-AVX2 build from 3.07 to 3.12 are too slow.
So also you confirm that 3.13 is way stronger on sandybridge ?

I probably won't remove previous releases as most often people are using the last one and because they were tested.
I got the following speed with a go depth 20 command on my Ryzen 7 1700 (1 thread, all defaults)

info depth 20 score cp 36 time 22340 nodes 4929187 nps 220644 Athlon 64
info depth 20 score cp 36 time 18631 nodes 4929187 nps 264569 Barcelona
info depth 20 score cp 36 time 18610 nodes 4929187 nps 264867 Core 2
info depth 20 score cp 36 time 17507 nodes 4929187 nps 281555 Nehalem
info depth 20 score cp 36 time 14786 nodes 4929187 nps 333368 Sandy Bridge
info depth 20 score cp 36 time 15806 nodes 4929191 nps 311855 Sky Lake
info depth 20 score cp 36 time 15177 nodes 4929191 nps 324780 Zen v1
info depth 20 score cp 36 time 13383 nodes 4929191 nps 368317 Zen v2

Zen v2 is faster, even in my zen 1 processor.
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

CMCanavessi wrote: Mon Aug 23, 2021 10:36 pm
xr_a_y wrote: Sun Aug 22, 2021 8:43 pm You got this right, non-AVX2 build from 3.07 to 3.12 are too slow.
So also you confirm that 3.13 is way stronger on sandybridge ?

I probably won't remove previous releases as most often people are using the last one and because they were tested.
I got the following speed with a go depth 20 command on my Ryzen 7 1700 (1 thread, all defaults)

info depth 20 score cp 36 time 22340 nodes 4929187 nps 220644 Athlon 64
info depth 20 score cp 36 time 18631 nodes 4929187 nps 264569 Barcelona
info depth 20 score cp 36 time 18610 nodes 4929187 nps 264867 Core 2
info depth 20 score cp 36 time 17507 nodes 4929187 nps 281555 Nehalem
info depth 20 score cp 36 time 14786 nodes 4929187 nps 333368 Sandy Bridge
info depth 20 score cp 36 time 15806 nodes 4929191 nps 311855 Sky Lake
info depth 20 score cp 36 time 15177 nodes 4929191 nps 324780 Zen v1
info depth 20 score cp 36 time 13383 nodes 4929191 nps 368317 Zen v2

Zen v2 is faster, even in my zen 1 processor.
Speed looks ok, thanks for the test.

Gcc -march option documentation for Zen v1 and v2 reads almost the same

Code: Select all

‘znver1’
    AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, and 64-bit instruction set extensions.)

‘znver2’
    AMD Family 17h core based CPUs with x86-64 instruction set support. (This supersets BMI, BMI2, CLWB, F16C, FMA, FSGSBASE, AVX, AVX2, ADCX, RDSEED, MWAITX, SHA, CLZERO, AES, PCLMUL, CX16, MOVBE, MMX, SSE, SSE2, SSE3, SSE4A, SSSE3, SSE4.1, SSE4.2, ABM, XSAVEC, XSAVES, CLFLUSHOPT, POPCNT, RDPID, WBNOINVD, and 64-bit instruction set extensions.)
Moreover in Minic I don't use PEXT for zen v1, zen v2 and bd v4.

So as soon as you have AVX2 and FMA available performances shall be quite good. Next step is to have a good BMI2 of course (so skylake or zenv3 ...).

As you probably know it is really not recommanded to use executable compiled for a newer architecture than the one of your CPU because you can run for an illegal instruction. In your case it seems only CLWB, RDPID, and WBNOINVD may fail it seems but anyway.

If I were you i'll stick to the binary that fits your architecture but please note that only Intel builds on linux are made using PGO, not the AMD ones and not for windows builds.
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

Hi everyone,

Minic 3.14 is released with a new embedded net named "Nucleated Neurulation". This net was train only on FRC positions (2B data from previous net selfplay). Minic 3.14 is +30Elo better than 3.13 at selfplay but this does not always seem to hold versus more various opponents.

Minic 3.14 comes with some bug fixes and some additionnal features. Also maybe i forgot to advertise about the armegeddon feature already present in previous versions.
[Troll but real ...]
Minic now has a "Bongcloud" option that forces it to make a king move in early game stage (if not already castled thanks to book moves). Really usefull stuff :lol: ...
[end of troll]

As always, the net itself can be found here (but is embedded anyway) : https://github.com/tryingsomestuff/NNUE-Nets
And the binaries are there : https://github.com/tryingsomestuff/Mini ... d19/Minic3

I'm currently working on bigger net architecture and training process.

Have fun.