αδμετε: A new engine.

Questions and comments related to CCRL testing study
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

αδμετε: A new engine.

Post by orbita2d »

Hi everyone!

I don't know if this is the right place for this but I'd like to submit my new engine for testing on CCRL.

It's called αδμετε (transliterated as admete), and I've finally gotten to a point where I can call it a v1.0.0. I'd guess it has a CCRL Elo between 2000 and 2100, but it's hard to tell.
  • 64 bit.
  • Single thread.
  • UCI
  • Syzygy tablebases (setoption name SyzygyPath value <path>)
  • Variable TT size
Github: https://github.com/orbita2d/admete.
Executable download: https://github.com/orbita2d/admete/releases/

It's open-source and should build on anything with 64 bits, under GCC, MSVC, or Clang (I think).
I've also attached executables for Linux x86-64 and Windows x86-64.

Thank you!
Last edited by orbita2d on Tue Mar 08, 2022 10:10 am, edited 6 times in total.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

Hi Kylie (this is the name I found on your github page),

I'm glad your efforts have been successful and we have a new engine to play with.

You might like to announce your engine at CCC too, so that more people will know about it.

However, most users (including me) are on Windows so a Windows compile would be welcomed. The more so because most people can't build engines from sources. I myself have a very basic compiling knowledge but still could not compile your engine (I had a great amount of error messages, perhaps I should modify your sources by #including something). Also, I don't have CMake installed and, frankly, I am not going to install it.

Gabor
alex67a
Posts: 3
Joined: Sun Mar 08, 2020 5:32 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by alex67a »

Windows exe, please
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Thanks you two. I'll work on it being windows compatible. Not that I have any idea how to do that right now.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

This is one of the error messages:
e:\Sakk\compiles\Admete\admete-1.0.0\test\board.cpp:2:10: fatal error: gtest/gtest.h: No such file or directory
2 | #include <gtest/gtest.h>
| ^~~~~~~~~~~~~~~
And indeed, your package does not include a file by that name.

EDIT: After some internet search I found that I'd have to install gtest and I have done it under MSYS2. The above type error messages have disappeared.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

Next problem. I have this kind of error message:
In file included from game/bitboard.hpp:2,
from game/board.hpp:2,
from e:\Sakk\compiles\Admete\admete-1.0.0\test\board.cpp:1:
game/types.hpp:54:5: error: 'uint' does not name a type; did you mean 'int'?
54 | uint to_north() const { return 7 - rank_index(); };
| ^~~~
I searched this as well and found that I'd have to #include <stdint.h> in types.cpp. I did not help, however.
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Hi Gabor!

Thanks for working so hard on trying to get it working on Windows. I'm been (slightly cheekily) using my work laptop to debug it on Windows, and now it builds nicely! I've attached a Windows executable to the Github page. Can you let me know if it works for you?

The NPS is like half of what it is on Linux, but it will have to do :)
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

Yes, it works. I see it is 64-bit. I'd prefer if the exe included the target CPU (such as BMI2 or old or whatever) and the id told me the version number, too.

I still can't compile it although it is close so I am sure I'll succeed. I use GCC++ command line and probably something must be inserted there. Here is the error file:
game\printing.cpp: In function 'std::string Printing::piece_name(PieceType)':
game\printing.cpp:31:1: warning: control reaches end of non-void function [-Wreturn-type]
31 | }
| ^
search\tablebase.cpp:3:10: fatal error: tbprobe.h: No such file or directory
3 | #include "tbprobe.h"
| ^~~~~~~~~~~
compilation terminated.
In file included from search\fathom\tbprobe.cpp:40:
search\fathom\tbprobe.h:27:10: fatal error: tbconfig.h: No such file or directory
27 | #include <tbconfig.h>
| ^~~~~~~~~~~~
compilation terminated.
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Oh great thanks!

The issue there is the include path. With CMake I expose the headers of fathom (a Syzygy probing library) to my search library. But I guess it wouldn't find the headers by default.

You could add the include dir -I ./src/ -I ./src/search/ -I ./search/fathom/ -I ./src/game/.

You might also have issue with the analyser folder, which relies on some POSIX stuff. I've just told CMake not to build it on Windows. It's not important to the engine and you could just not build it / delete it.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

I'm close to giving up, somehow it doesn't compile, in fact it's getting worse. I get a huge error file (the contents of which I don't understand at all). My latest attempt was with this command line (issued from src):
g++ -std=c++17 -Isearch/fathom -Isearch -Igame -Ianalyser main.cpp analyser/*.cpp game/*.cpp search/*.cpp search/fathom/tbprobe.cpp ../test/*.cpp -O3 -march=native -oAdmete_1.1.0-x64-SzG.exe
I think that line has everything needed.

The error file has this line several times:
e:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\cicus\AppData\Local\Temp\ccCnLD6g.o:board.cpp:(.text+0xcf9): undefined reference to `testing::internal::AssertHelper::~AssertHelper()'
Anyway, I am happy with your Windows exe so I think we can leave it at that.
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Okay thanks for trying! I've never really used mingw so I don't know where the errors could be coming from. Let me know how it does :)

On Linux, the command to compile just the engine exec is:
g++ -std=c++17 -Isearch/fathom -Isearch -Igame main.cpp game/*.cpp search/*.cpp search/fathom/tbprobe.cpp -O3 -march=native -oadmete_1.1.0-x64-SzG -lpthread
With mingw, you might have pthread which would mean the command could be the same (except with a .exe file extention)
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

Your suggested command line worked, the source compiled with only one warning:
game/printing.cpp: In function 'std::string Printing::piece_name(PieceType)':
game/printing.cpp:31:1: warning: control reaches end of non-void function [-Wreturn-type]
31 | }
| ^
And the resulting exe does not accept input, I tried to input 'uci' but nothing happened (no characters appeared on the screen).
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

That warning is fine, that *should* work. I'm surprised it's not. Like I said though I don't have any experience with mingw.
User avatar
Sergio Martinez
Posts: 3396
Joined: Tue Mar 12, 2013 11:38 pm
Sign-up code: 10159
Location: Murcia, Spain

Re: αδμετε: A new engine.

Post by Sergio Martinez »

The exe file works for me under Arena 3.5.1.

We need to know your name and country (for the engine information)
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Kylie MacFarquharson, United Kingdom

Glad it's working.
User avatar
Sergio Martinez
Posts: 3396
Joined: Tue Mar 12, 2013 11:38 pm
Sign-up code: 10159
Location: Murcia, Spain

Re: αδμετε: A new engine.

Post by Sergio Martinez »

orbita2d wrote: Thu Jul 08, 2021 7:46 pm Kylie MacFarquharson, United Kingdom

Glad it's working.
Thank you very much :)
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

I'm pretty excited to see how it does now :)
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

Thanks for renaming the exe so that the version number and the platform is included. If the version number would be displayed by the engine as its id that would be even greater.
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

No problem, I've added that to the codebase, but it'll have to wait for 1.2.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Gabor Szots wrote: Fri Jul 09, 2021 9:41 am BTW, is that you? https://www.physics.ox.ac.uk/our-people/macfarquharsonk
Haha yes it is. I wonder what happened to my photo . . .
I usually try to avoid putting my real name online, because it's distressingly easy to find out where I work.

Why do you ask?

Edit: The photo isn't me, it's just a stock image for the sub department.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

orbita2d wrote: Fri Jul 09, 2021 9:52 am Why do you ask?
Just curiosity. There was a Midsomer Murders episode in which there were MacFarquharsons and that memory incited me to do a search. Also, I wanted to know if you are not the odd highschool student who makes an engine then abandons it immediately.

I have a question: what is TablesPath?
orbita2d
Posts: 27
Joined: Tue Jul 06, 2021 11:36 pm
Sign-up code: 10159

Re: αδμετε: A new engine.

Post by orbita2d »

Gabor Szots wrote: Fri Jul 09, 2021 10:17 am
orbita2d wrote: Fri Jul 09, 2021 9:52 am Why do you ask?
Just curiosity. There was a Midsomer Murders episode in which there were MacFarquharsons and that memory incited me to do a search.

I have a question: what is TablesPath?

Oh cool. There aren't many of us :)

TablesPath lets you (me really) load a list of eval parameters to the engine. I use it in training.
User avatar
Gabor Szots
Posts: 12888
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: αδμετε: A new engine.

Post by Gabor Szots »

I have started a tournament but I have already stopped it.

There must be some memory leak which makes the allocated memory grow with each move, at move 70 it has already surpassed 1GB.
Ray
Posts: 22613
Joined: Sun Dec 18, 2005 6:33 pm
Sign-up code: 10159
Location: NZ

Re: αδμετε: A new engine.

Post by Ray »

Gabor Szots wrote: Fri Jul 09, 2021 12:14 pm
There must be some memory leak which makes the allocated memory grow with each move, at move 70 it has already surpassed 1GB.
Ouch !
Post Reply