I'm using HCE and the net "Niggling Nymph" for this test at short TC (10s+0.1). The hardware used is AVX2 but the "core2" executable is SSE3 but not popcnt, the "nehalem" one is popcnt+SSE4.2 while the "skylake" executable is popcnt+AVX2+BMI2...
Code: Select all
Rank Name Elo +/- Games Score Draw
1 minic_3.03_linux_x64_skylake_niny 56 11 2454 58.0% 39.2%
2 minic_3.03_linux_x64_nehalem_niny 13 11 2454 51.9% 40.9%
3 minic_3.03_linux_x64_nehalem 10 11 2455 51.5% 39.7%
4 minic_3.03_linux_x64_skylake 4 11 2455 50.6% 41.4%
5 minic_3.03_linux_x64_core2 -36 11 2456 44.9% 39.7%
6 minic_3.03_linux_x64_core2_niny -48 11 2456 43.1% 37.3%
For HCE first, this looks simple, performance is the same as soon as popcnt is here. Not having popcnt leads to something like -40Elo. Thre is not much dependency to vectorisation but popcnt looks quite important.
For NNUE, AVX2 is +40 versus SSE4.2 and there is again a gap of nearly 60Elo for SSE3.
So that on (very) old hardware, current Minic HCE is better than "Niggling Nymph" !
This can explain some strange results during some testing process and in rating list where I sometimes see my net underperform a lot.
In this table
Code: Select all
Rank Name Elo +/- Games Score Draw
1 minic_2.53_napping_nexus 270 12 3080 82.6% 25.7%
2 minic_2.53_nascent_nutrient 165 11 3080 72.1% 29.9%
3 minic_3.02_nettling_nemesis 79 10 3079 61.2% 29.3%
4 minic_3.04_noisy_notch 4 10 3079 50.6% 35.6%
5 minic_3.03_niggling_nymph -33 10 3079 45.3% 35.1%
6 minic_3.02_narcotized_nightshift -47 10 3080 43.2% 34.4%
7 minic_2.53 -52 10 3079 42.6% 34.2%
8 minic_2.46 -64 10 3080 40.9% 32.7%
9 minic_3.03 -70 10 3079 40.1% 34.0%
10 minic_3.04 -78 10 3079 38.9% 32.5%
11 minic_3.01_nefarious_nucleus -127 11 3080 32.4% 26.4%
There is a more 100Elo gap between "Nefarious Nucleus" and "Niggling Nymph" on AVX2 hardware, this means that on old hardware, "Nefarious Nucleus" or even "Narcotized Nightshift" can be way weaker than HCE.