Do you need Gitlab when compiling Rengar?

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

chessica
Posts: 985
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Do you need Gitlab when compiling Rengar?

Post by chessica »

When I try to compile Rengar, I get the engine "uci.exe" and a reference to gitlab.
I think an account is required there. Can it be done without one? If so, how?
User avatar
Jim Ablett
Posts: 2367
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: Do you need Gitlab when compiling Rengar?

Post by Jim Ablett »

The makefile will try to download some stuff that is needs before compiling.

Use my src code & makefile which has everything already downloaded.

https://drive.proton.me/urls/8KW7705ZDR#4R2XoHT4iTgy

Jim.
ThomasSwayze
Posts: 3
Joined: Thu Sep 05, 2024 12:30 am
Full name: Thomas Swayze

Re: Do you need Gitlab when compiling Rengar?

Post by ThomasSwayze »

Hi chessica. I’m the author of Rengar. It sounds like you’ve compiled the engine successfully, as uci.exe is the binary for the engine.

Part of the build is installing Eigen, a linear algebra library for c++. You probably saw a log that was downloading it from gitlab. This works without any login information (I don’t even have a gitlab account myself), and the fact that you were able to get the binary means the download was successful.

And thanks for saving all of these compiles Jim!
chessica
Posts: 985
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Re: Do you need Gitlab when compiling Rengar?

Post by chessica »

ThomasSwayze wrote: Sat Sep 07, 2024 6:30 pm Hi chessica. I’m the author of Rengar. It sounds like you’ve compiled the engine successfully, as uci.exe is the binary for the engine.

Part of the build is installing Eigen, a linear algebra library for c++. You probably saw a log that was downloading it from gitlab. This works without any login information (I don’t even have a gitlab account myself), and the fact that you were able to get the binary means the download was successful.

And thanks for saving all of these compiles Jim!
Thank you for the explanations. :-)

When I start the engine I get this output:

uci
id name Rengar unversioned

id author Thomas Swayze
option name hash type spin default 256 min 1 max 65536
uciok
isready
ready ok
show
rnbqkbnr
xxxxxxxx
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
XXXXXXXX
RNBQKBNR

Something still seems to be missing, but what? Ah, I suspect it has something to do with "eigen".
ThomasSwayze
Posts: 3
Joined: Thu Sep 05, 2024 12:30 am
Full name: Thomas Swayze

Re: Do you need Gitlab when compiling Rengar?

Post by ThomasSwayze »

That seems to be working as intended. Rengar implements the universal chess interface (UCI), which includes commands such as “uci” and “isready “ that it looks like you entered. It also implements some others I used as helpers, like “show”, which gives you a text picture of the board as you saw.

Try sending commands like “go depth 15” or “go nodes 1000000”. You can also set the position with “position startpos moves e2e4 e7e5” or “position fen <position in FEN notation>”. All uci engines should be able to handle these commands.

Here’s a full list of commands Rengar takes: https://github.com/teswayze/rengar?tab= ... e-commands
chessica
Posts: 985
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Re: Do you need Gitlab when compiling Rengar?

Post by chessica »

ThomasSwayze wrote: Sun Sep 08, 2024 6:56 pm That seems to be working as intended. Rengar implements the universal chess interface (UCI), which includes commands such as “uci” and “isready “ that it looks like you entered. It also implements some others I used as helpers, like “show”, which gives you a text picture of the board as you saw.

Try sending commands like “go depth 15” or “go nodes 1000000”. You can also set the position with “position startpos moves e2e4 e7e5” or “position fen <position in FEN notation>”. All uci engines should be able to handle these commands.

Here’s a full list of commands Rengar takes: https://github.com/teswayze/rengar?tab= ... e-commands
My compile works very well, but about 20% slower than Jim's compile. So I didn't see any problems. Just the id id
"id name Rengar unversioned" irritated me. That's why I asked here.

Jim compile: go depth 15 4434 <---rengar_200_ccrl_64_ja_sse3.exe
My compile: go depth 15 5381
ThomasSwayze
Posts: 3
Joined: Thu Sep 05, 2024 12:30 am
Full name: Thomas Swayze

Re: Do you need Gitlab when compiling Rengar?

Post by ThomasSwayze »

id name Rengar unversioned
There's an argument to the "make" command that will assign the version to something. I use it when building the release binary because testers found it helpful to distinguish between the different downloads they had. But most versions I compile are for my own testing and iteration, either on a developmental branch or between releases, so I have it as "unversioned" by default. If you like you can compile with "make version=v2.0.0" (the latest release) or "make version=chessica-compile" to make it say whatever you want.
20% slower than Jim's compile
It's hard to be sure, but I'm guessing this is because Jim's compiler is a more recent version from yours. You can see your version by running "g++ version". Later compiler versions are more likely to be able to do some fancy optimizations. For example, Eigen won't vectorize the linear algebra used in NNUE inference unless your GCC version is 4.2 or later (based on one of the FAQS here: https://eigen.tuxfamily.org/index.php?title=FAQ). Because the SSE3 binary runs on your machine, you definitely have the hardware for it.
chessica
Posts: 985
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Re: Do you need Gitlab when compiling Rengar?

Post by chessica »

Now it works better:

uci
id name Rengar chessica
id author Thomas Swayze
option name hash type spin default 256 min 1 max 65536
uciok
isready
readyok
go depth 15
info depth 1 time 0 nodes 5 pv e2e4 score cp 15
info depth 2 time 1 nodes 26 pv e2e4 e7e5 score cp 6
info depth 3 time 2 nodes 131 pv d2d4 g8f6 g1f3 score cp 13
info depth 4 time 3 nodes 364 pv d2d4 g8f6 g1f3 d7d5 score cp 5
info depth 5 time 5 nodes 939 pv d2d4 g8f6 e2e3 c7c6 c2c4 score cp 12
info depth 6 time 8 nodes 2566 pv d2d4 d7d5 e2e3 e7e6 f1d3 f8d6 score cp 5
info depth 7 time 14 nodes 5176 pv d2d4 d7d5 e2e3 e7e6 f1d3 f8d6 g1f3 score cp 15
info depth 8 time 31 nodes 14840 pv e2e4 b8c6 g1f3 e7e5 b1c3 h7h6 d2d4 e5d4 score cp 9
info depth 9 time 69 nodes 36651 pv d2d4 d7d5 g1f3 g8f6 e2e3 e7e6 f1d3 f8d6 e1g1 score cp 13
info depth 10 time 165 nodes 92672 pv e2e4 e7e6 d2d4 d7d5 e4d5 e6d5 d1e2 f8e7 b1c3 g8f6 g1f3 score cp 15
info depth 11 time 338 nodes 197339 pv e2e4 c7c5 d2d4 c5d4 d1d4 b8c6 d4d2 e7e5 b1c3 g8f6 g1f3 score cp 22
info depth 12 time 561 nodes 331797 pv e2e4 c7c5 d2d4 c5d4 d1d4 b8c6 d4d2 e7e5 b1c3 g8f6 g1f3 h7h6 score cp 13
info depth 13 time 1469 nodes 893432 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8b4 e1g1 e8g8 f1e1 h7h6 d2d4 score cp 12
info depth 14 time 2464 nodes 1499327 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8b4 e1g1 e8g8 f1e1 d7d6 d2d4 e5d4 score cp 14
info depth 15 time 4733 nodes 2861922 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8d6 e1g1 e8g8 d2d3 a7a6 b5c4 f8e8 f1e1 score cp 12
bestmove e2e4

Jim compile: go depth 15 4434 <---rengar_200_ccrl_64_ja_sse3.exe
My compile 0: go depth 15 5381
My compile 1: go depth 15 4733
chessica
Posts: 985
Joined: Thu Aug 11, 2022 11:30 pm
Full name: Esmeralda Pinto

Re: Do you need Gitlab when compiling Rengar?

Post by chessica »

chessica wrote: Mon Sep 09, 2024 11:54 am
If you do it right it even works.;-))

go depth 15
info depth 1 time 0 nodes 5 pv e2e4 score cp 15
info depth 2 time 0 nodes 26 pv e2e4 e7e5 score cp 6
info depth 3 time 1 nodes 131 pv d2d4 g8f6 g1f3 score cp 13
info depth 4 time 1 nodes 364 pv d2d4 g8f6 g1f3 d7d5 score cp 5
info depth 5 time 2 nodes 939 pv d2d4 g8f6 e2e3 c7c6 c2c4 score cp 12
info depth 6 time 5 nodes 2566 pv d2d4 d7d5 e2e3 e7e6 f1d3 f8d6 score cp 5
info depth 7 time 9 nodes 5176 pv d2d4 d7d5 e2e3 e7e6 f1d3 f8d6 g1f3 score cp 15
info depth 8 time 24 nodes 14840 pv e2e4 b8c6 g1f3 e7e5 b1c3 h7h6 d2d4 e5d4 score cp 9
info depth 9 time 58 nodes 36651 pv d2d4 d7d5 g1f3 g8f6 e2e3 e7e6 f1d3 f8d6 e1g1 score cp 13
info depth 10 time 143 nodes 92672 pv e2e4 e7e6 d2d4 d7d5 e4d5 e6d5 d1e2 f8e7 b1c3 g8f6 g1f3 score cp 15
info depth 11 time 298 nodes 197339 pv e2e4 c7c5 d2d4 c5d4 d1d4 b8c6 d4d2 e7e5 b1c3 g8f6 g1f3 score cp 22
info depth 12 time 501 nodes 331797 pv e2e4 c7c5 d2d4 c5d4 d1d4 b8c6 d4d2 e7e5 b1c3 g8f6 g1f3 h7h6 score cp 13
info depth 13 time 1316 nodes 893432 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8b4 e1g1 e8g8 f1e1 h7h6 d2d4 score cp 12
info depth 14 time 2217 nodes 1499327 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8b4 e1g1 e8g8 f1e1 d7d6 d2d4 e5d4 score cp 14
info depth 15 time 4223 nodes 2861922 pv e2e4 e7e5 b1c3 b8c6 g1f3 g8f6 f1b5 f8d6 e1g1 e8g8 d2d3 a7a6 b5c4 f8e8 f1e1 score cp 12
bestmove e2e4


Jim compile: go depth 15 4434 <---rengar_200_ccrl_64_ja_sse3.exe
My compile 0: go depth 15 5381
My compile 1: go depth 15 4733
My compile final: go depth 15 4223