Forked from AndyGrant/Ethereal
The only difference to the origin repository is an alternative makefile. No changes have been made to the source code of the engine.
Regardless of the speed gain, profile-guided optimization (PGO) should be performed when building a chess engine. Unfortunately, this is not the case with the original makefile for non-native.
The added makefile.alt is used to build Ethereal executables with PGO for AVX2 and BMI2 in a MSYS2 CLANG64 environment.
Note: There is no BMI2 executable on Zen 1 and Zen 2 systems due to slow implementation of PEXT.
Install Clang toolchain
pacman -S --needed base-devel mingw-w64-clang-x86_64-toolchain
For a purchased Ethereal you can build the executables with an included NNUE EvalFile
as follows:
mingw32-make -f makefile.alt EVALFILE=<filename> OWNER=<forename>_<surname>
This creates 64-bit executables like Ethereal-14.40-avx2-c5e34.exe
and Ethereal-14.40-bmi2-c5e34.exe
.
The filenames include the version number found in uci.h and the first five SHA256 characters of the given EVALFILE
.
Read this for information about Ethereal free (Standard) and the commercial NNUE (Efficiently-Updated Neural Network) version.
There is a difference between the two versions...
cutechess-cli -each tc=180+1 option.Threads=1 option.Hash=256 restart=on timemargin=100
-tournament round-robin -rounds 50 -games 2 -repeat -concurrency 4
-openings file=openings/UHO_2024_6mvs_+090_+099.pgn format=pgn order=sequential policy=round
-draw movenumber=80 movecount=20 score=20 -resign movecount=20 score=800 twosided=true -maxmoves 200
-ratinginterval 2 -wait 3000 [engines]
Score of Ethereal-14.40-avx2-c5e34 vs Ethereal-14.40-avx2: 69 - 1 - 30 [0.840] 100
... Ethereal-14.40-avx2-c5e34 playing White: 49 - 0 - 1 [0.990] 50
... Ethereal-14.40-avx2-c5e34 playing Black: 20 - 1 - 29 [0.690] 50
... White vs Black: 50 - 20 - 30 [0.650] 100
Elo difference: 288.1 +/- 63.3, LOS: 100.0 %, DrawRatio: 30.0 %
ERET with epdtest on AMD Ryzen 5 4600G
epdtest-win64 -e Ethereal-14.40-avx2-c5e34.exe -c 1 -H 512 -t 15 -f ERET.epd
84 best moves found / 106 problems (79.25%); 0 bad Moves found / 5 problems (0.00%)
epdtest-win64 -e Ethereal-14.40-avx2.exe -c 1 -H 512 -t 15 -f ERET.epd
62 best moves found / 106 problems (58.49%); 0 bad Moves found / 5 problems (0.00%)
Arasan Test Suite with epdtest on AMD Ryzen 5 4600G
epdtest-win64 -e Ethereal-14.40-avx2-c5e34.exe -c 1 -H 512 -t 10 -f arasan2023.epd
149 best moves found / 199 problems (74.87%); 0 bad Moves found / 1 problems (0.00%)
epdtest-win64 -e Ethereal-14.40-avx2.exe -c 1 -H 512 -t 10 -f arasan2023.epd
109 best moves found / 199 problems (54.77%); 0 bad Moves found / 1 problems (0.00%)