New engine: Expositor

Questions and comments related to CCRL testing study
Post Reply
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

New engine: Expositor

Post by expositor »

Hello everyone!

I just wanted to introduce my engine, Expositor. Source and releases can be found on Github and there's an informal introduction over on TalkChess.

Thanks so much for running CCRL! It's an invaluable resource.
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

Hello,

Some questions:

1. Do you wish to remain anonymous?

2. For compiling the source do I need a nightly version? I had these error messages:
Compiling expositor v2.0.0 (E:\Sakk\compiles\Expositor\expositor-2WQ23)
error: environment variable `VERSION` not defined
--> src\util.rs:1:36
|
1 | pub const VERSION : &'static str = env!("VERSION");
| ^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)

error: environment variable `BUILD` not defined
--> src\util.rs:2:36
|
2 | pub const BUILD : &'static str = env!("BUILD");
| ^^^^^^^^^^^^^
|
= note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)

error: could not compile `expositor` due to 2 previous errors
3. Which binary do you suggest for an Intel i5-4690K, expo-skylake-skylake.exe?

4. What data did you use for building your network? Did you write the trainer yourself? Did you write the network access code yourself?

5. How do I access the 512x8-lt15 repository?

6. Approximately how strong is your engine on a CCRL blitz scale?
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Hi Gabor!

1. I go by "Kade".
2. Yes! You'll need to use a recent nightly toolchain.
3. From this and this it looks like the i5-4690K is a Haswell Refresh, so I'd recommend expo-haswell-haswell (but expo-skylake-skylake should work too).
4. For the first question, see the "Acknowledgment" section of the readme (which mentions how training positions are generated). As for the other questions: I wrote the trainer from scratch myself and I wrote the network code from scratch myself. Expositor's NNUE format is unique as far as I'm aware.
5. 512x8-lt15 is not a separate repository, but a directory within the source repository. It contains a copy of the network as well as images of the first and second layers.

Thanks so much! Let me know if you have any more questions.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Sorry, didn't see the last question!

6. My expectation is 3000 to 3100 on the CCRL scale, although I would not be terribly surprised if she ended up in the 2700 to 3200 range. (This is based on games I've run locally against engines in that range.)
Last edited by expositor on Thu Feb 24, 2022 10:25 am, edited 2 times in total.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Oh, one last thing: to build from source, you should run the script named build (which sets the VERSION, BUILD, and RUSTFLAGS environment variables and then calls cargo build --release). This is a bash script for Linux; I'll write a Windows version and add to the repository either later today or tomorrow. Sorry about that!
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

expositor wrote: Thu Feb 24, 2022 10:22 am Oh, one last thing: to build from source, you should run the script named build (which sets the VERSION, BUILD, and RUSTFLAGS environment variables and then calls cargo build --release). This is a bash script for Linux; I'll write a Windows version and add to the repository either later today or tomorrow. Sorry about that!
Hi Kade,

Thanks for your answers. I like your plans and I hope that you are making great progress with your engine.

I compared some of your builds and found little speed difference between the recommended ones. Building myself is not very important, my experience is that my native Rust compiles are not faster than those provided by engine authors. Still, I'm curious.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Hi Gabor,

I added a Windows build script to the respository. Let me know if it works or if there are any problems.

Thank you again!
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

expositor wrote: Thu Feb 24, 2022 10:41 pm Hi Gabor,

I added a Windows build script to the respository. Let me know if it works or if there are any problems.

Thank you again!
Thanks Kade but no joy. I extended your build batch with two lines:
rustup default nightly
set VERSION="2WQ23+win"
set BUILD=%time% on %date%
set RUSTFLAGS=-C target-cpu=native
cargo build --release
rustup default stable
After that compiling went OK, apparently, with this output:
info: using existing install for 'nightly-x86_64-pc-windows-msvc'
info: default toolchain set to 'nightly-x86_64-pc-windows-msvc'
Compiling expositor v2.0.0 (E:\Sakk\compiles\Expositor\expositor-2WQ23)
Finished release [optimized + debuginfo] target(s) in 12.16s
info: using existing install for 'stable-x86_64-pc-windows-msvc'
info: default toolchain set to 'stable-x86_64-pc-windows-msvc'
But running the generated engine resulted in this message:
thread 'main' has overflowed its stack
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

I have started a gauntlet. Results probably next Sunday.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

This should be fixed now.

The rust compiler uses an external linker; on my machine that's a GCC linker meant for cross-compiling, and on Windows that's an MSVC linker. The problem was that the MSVC linker has a different default value for the stack size* and that value is too small, so I needed explicitly set the stack size.

*On Linux, the initial stack size is set by the kernel when the program is loaded (although this can be changed with ulimit). On Windows, the initial stack size is specified by the executable.
I have started a gauntlet. Results probably next Sunday.
Thank you, Gabor. Hopefully my estimate wasn't too far off. I'm really excited to see the results!
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Hello everyone!

Just wanted to let you all know that I've released the next version of Expositor (2WN29).

https://github.com/expo-dev/expositor/r ... /tag/2WN29

This version is roughly 100 Elo stronger than 2WQ23 (estimating from Cute Chess results).

Thank you, and hope you all've been well!
User avatar
Graham Banks
Posts: 26916
Joined: Sun Dec 18, 2005 5:47 pm
Sign-up code: 0
Location: Auckland, NZ

Re: New engine: Expositor

Post by Graham Banks »

Thanks, Kade. :thumbup:
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Guenther from RWBC found a linktime error with Windows builds that causes stack overflows, so I've re-released 2WN29: https://github.com/expo-dev/expositor/r ... /tag/2WN29

So sorry about that!
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

expositor wrote: Mon May 30, 2022 7:58 pm Guenther from RWBC found a linktime error with Windows builds that causes stack overflows, so I've re-released 2WN29: https://github.com/expo-dev/expositor/r ... /tag/2WN29

So sorry about that!
No worries. Thanks for the quick fix.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Hello everyone!

Another version has been released: https://github.com/expo-dev/expositor/r ... /tag/2BR17

This version is roughly 100 Elo stronger again than 2WN29 (estimating from Cute Chess results).

Thank you all so much, and hope you're well!
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

Fine. I'm going to test it as soon as I have free CPU time but don't hold your breath.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Of course! No hurry – I don't expect anything and I don't want to take advantage of anyone's generosity. Just wanted to let people know who may be interested in playing a new version.
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Helo! just wanted to let anyone interested know that version 4WR02 has been released ^^
User avatar
Gabor Szots
Posts: 12849
Joined: Sat Dec 09, 2006 6:30 am
Sign-up code: 10159
Location: Szentendre, Hungary

Re: New engine: Expositor

Post by Gabor Szots »

expositor wrote: Sun Mar 03, 2024 8:20 am Helo! just wanted to let anyone interested know that version 4WR02 has been released ^^
Hello,

A rough estimate of progress over 2BR17?
expositor
Posts: 12
Joined: Thu Feb 24, 2022 3:25 am
Sign-up code: 10159

Re: New engine: Expositor

Post by expositor »

Hi Gabor! perhaps 50 Elo at blitz time controls?
Post Reply