User923005 wrote:Your engine is the only one that ever crashed from my wrong sequence.
That is probably because it most definitely is a UCI violation to crash. The specs say that when you receive a command that should not come at that time, you should simply ignore it. Crashing does not really count as ignoring.
A 'ucinewgame' doesn't seem to be really forbidden in this situation, though. The specs only say that an 'isready' is required before the engine is set searching. 'ucinewgame' doesn't really set it searching.
This command is also required once before the engine is asked to do any search
to wait for the engine to finish initializing.
The formulation furthermore suggests that this is only for timing reasons, to prevent the GUI sets the engine's clock running while it is still tied up in other tasks.
User923005 wrote:Your engine is the only one that ever crashed from my wrong sequence.
That is probably because it most definitely is a UCI violation to crash. The specs say that when you receive a command that should not come at that time, you should simply ignore it. Crashing does not really count as ignoring.
A 'ucinewgame' doesn't seem to be really forbidden in this situation, though. The specs only say that an 'isready' is required before the engine is set searching. 'ucinewgame' doesn't really set it searching.
This command is also required once before the engine is asked to do any search
to wait for the engine to finish initializing.
The formulation furthermore suggests that this is only for timing reasons, to prevent the GUI sets the engine's clock running while it is still tied up in other tasks.
haswell: The fastest version, for Intel Haswell architecture. Use this, if it works on your machine.
nehalem: A little bit slower than the Haswell version (-2.5%), compatible with Nehalem architecture, the first Intel with 64-bit and POPCNT. Use this, if the Haswell doesn't work.
core2: Much slower than the Haswell version (18.4%), but compatible with Intel Core Duo, the first Intel 64-bit (without POPCNT hence the slowness). Use if all else fails.
PS: No 32-bit compile. Sorry, but I won't waste my time making the code 32-bit compatible for people running a 32-bit OS on a 64-bit machine...
+140 elo in 8"+0.08". Estimate 2900 elo CCRL 40/40, or 3000 elo FIDE.
Statically compiled (using musl). Should now work on any Linux distro, even the most exotic.
Linux
haswell: for recent Intel machines (2013).
nehalem: for old Intel machines (2008).
amdfam10: for old AMD machines (2007).
MacOSX
You should be able to compile it yourself for MacOSX, as shown in "make.sh", using gcc or clang. Let me know if you have any issues. I can't test it myself, because I don't have a Mac, and Apple makes it very complicated to cross compile for Mac. Android
Should cross compile for Android normally. I haven't installed the Android NDK and tested, but don't expect any major problem there.
About 50-60 elo gain in my testing: self-play, tc=8"+0.08", high resolution book (5 plies). As usual, expect elo compression in rating lists, due to higher TC and longer book lines.
New release. Another 60 elo gain in my testing: self-play, tc=8"+0.08", high resolution book (5 plies). As usual, expect elo compression in rating lists, due to higher TC and longer book lines.