Gull 3.0.1 available, takes advantage of hyperthreading
Posted: Thu Jan 21, 2016 9:37 pm
I made Gull 3.0.1 available for download at http://www.firenzina.org/Gull_3-0-1.zip. Gull 3.0.1 is a very minor modification of Gull 3 that has two extra features:
1. Gull 3.0.1 is compatible with MinGW and Dev-C++ (with TDM). It would be great if some kind soul decided to set up a website for Gull MinGW auto-compiles like the one that Stockfish has at http://abrok.eu/stockfish/. The scripts currently included need to be modified in order to support auto-compilation with PGO.
2. Gull 3.0.1 no longer prevents the number of threads (processes, actually) from being 2 times the number of cores on Intel computers that support hyperthreading (HT). This is done for FOSCEC Season 3, where I intend to keep HT on. Coincidentally, Vadim's code that used to check for hyperthreading was incompatible with the compilers used by MinGW and Dev-C++.
I verified that the strength of the MSVC compiles is the same as Gull 3 when the number of threads is the same. A 16-thread Gull 3.0.1 AVX2 beats an 8-thread Gull 3 BMI2 on an 8-core i7-5960X narrowly, 1011.5/2000 360-337-1303 (+4 Elo). TC 20"+0.3", Hash 256MB, HT on. An 8-thread Gull 3.0.1 SSE2 did even better (~+14 Elo) against a 4-thread Gull 3 on a quad, I will post the details later.
1. Gull 3.0.1 is compatible with MinGW and Dev-C++ (with TDM). It would be great if some kind soul decided to set up a website for Gull MinGW auto-compiles like the one that Stockfish has at http://abrok.eu/stockfish/. The scripts currently included need to be modified in order to support auto-compilation with PGO.
2. Gull 3.0.1 no longer prevents the number of threads (processes, actually) from being 2 times the number of cores on Intel computers that support hyperthreading (HT). This is done for FOSCEC Season 3, where I intend to keep HT on. Coincidentally, Vadim's code that used to check for hyperthreading was incompatible with the compilers used by MinGW and Dev-C++.
I verified that the strength of the MSVC compiles is the same as Gull 3 when the number of threads is the same. A 16-thread Gull 3.0.1 AVX2 beats an 8-thread Gull 3 BMI2 on an 8-core i7-5960X narrowly, 1011.5/2000 360-337-1303 (+4 Elo). TC 20"+0.3", Hash 256MB, HT on. An 8-thread Gull 3.0.1 SSE2 did even better (~+14 Elo) against a 4-thread Gull 3 on a quad, I will post the details later.