New UCI Engine: Demolito

Discussion about chess-playing software (engines, hosts, opening books, platforms, etc...)
H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: New UCI Engine: Demolito

Post by H.G.Muller » Tue Mar 28, 2017 7:48 pm

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.

Code: Select all

	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.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Wed Mar 29, 2017 11:29 am

H.G.Muller wrote:
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.

Code: Select all

	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.
Seems you're right. Only isready after ucinewgame is mandated. Before is not mandated, but only shown in the example section. I just pushed a fix:
https://github.com/lucasart/Demolito/co ... 9e0b821ac1
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Mon Apr 03, 2017 12:08 pm

Here are some Linux compiles:
  • 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...
Attachments
Demolito.tar.gz
Linux compiles
(122.57 KiB) Downloaded 581 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Tue May 30, 2017 12:10 am

New version
  • Converted to C (from C++).
  • +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.
Attachments
Demolito.tar.gz
Linux compiles
(129.27 KiB) Downloaded 574 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Fri Jun 02, 2017 2:08 pm

Anrdoid
You need a 64-bit ARM device to run it (ARMv8-a or above).

I just played a game against it, using Chess for Android. And it worked. Needless to say that I lost the game...
Attachments
Android.gz
(316.43 KiB) Downloaded 658 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Sun Jun 18, 2017 7:38 am

Windows
  • nehalem: for Intel machines (first generation i3/5/7 and above).
  • amdfam10: for AMD machines (K10 and above).
Attachments
Windows.tar.bz2
Windows compiles
(76.48 KiB) Downloaded 631 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Mon Jun 19, 2017 12:10 pm

Old machines (64-bit, but no popcount):
  • k8: For AMD K8 architecture and above. This is the first 64-bit AMD CPU (2003).
  • nocona: For Intel Nocona architecture and above. This is the first 64-bit Intel CPU (2004).
Both Windows and Linux compiles provided. The Windows ones end in .exe, and the Linux ones have no extension.
Attachments
Old.tar.bz2
Compiles for old CPUs
(133.08 KiB) Downloaded 540 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

New version: Demolito 2017-08-26

Post by lucasart » Sun Aug 27, 2017 7:28 am

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.
Attachments
demolito_20170826_android_armv8-a.bz2
Android compile
(331.65 KiB) Downloaded 551 times
demolito_20170826_linux.tar.bz2
Linux compiles
(104.5 KiB) Downloaded 527 times
demolito_20170826_windows.tar.bz2
Windows compiles
(127.69 KiB) Downloaded 799 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New version: Demolito 2017-08-26

Post by lucasart » Thu Mar 01, 2018 2:52 pm

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.
Attachments
demolito_20180301_windows.tar.bz2
windows compiles
(106.89 KiB) Downloaded 728 times
demolito_20180301_linux.tar.bz2
linux compiles
(55.18 KiB) Downloaded 458 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

lucasart
Posts: 201
Joined: Mon Dec 17, 2012 1:09 pm
Contact:

Re: New UCI Engine: Demolito

Post by lucasart » Fri Mar 02, 2018 12:16 am

Android compile: for 64-bit ARM devices.
Attachments
demolito_20180301_android.bz2
android compile
(332.93 KiB) Downloaded 514 times
"Talk is cheap. Show me the code." -- Linus Torvalds.

Post Reply