Texel 1.05

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

Moderator: Ras

petero2
Posts: 726
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.05

Post by petero2 »

Marek Soszynski wrote:
petero2 wrote:The linux executable require a fairly recent 64-bit linux distribution to run. To compile your own linux version, see the readme.txt file.
Thank you for your engine.

I run Linux on my 64-bit PC (SSE3 not SSE4.2).

texel64old.exe runs okay via Wine.

My own Linux compile - simply "make" - runs much faster than texel64old.exe but on the other hand it doesn't report/access tablebases.

You provide several other executables. Couldn't you do a texel64old as well?
I don't know why tablebases are not working in your compiled version. There is no way to disable tablebase support at compile time. Did you use the correct path separator character, ":", for the SyzygyPath option?

Anyway, I compiled a version that should be suitable for your CPU: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64

I added "-march=core2 -DHAS_CTZ -DHAS_PREFETCH -DHAS_RT" to the compiler flags. On my computer it is about 5% faster than the default compilation but about 9% slower than the popcnt enabled version.
petero2
Posts: 726
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.05

Post by petero2 »

Frank Quisinsky wrote:I am reading about your "Lego Project". It seems that you are full of ideas and I am sure you are looking not only on your Android project and Texel.
That was actually not my project. A colleague of mine executed this project, I merely provided the chess engine.
Frank Quisinsky wrote:Droidfish is great!
I am using on my HTC M8 most time Droidfish.

My wish here, maybe possible?
Could you added with the next Droidfish version your actual Version of Texel too? Stockfish isn't the once flagship with open sources. You have an own and this should be added directly with Droidfish setup as second engine.
If you install the Texel Chess Engine app from the Google play store, texel will automatically appear in DroidFish, so it is almost as good as having it built into DroidFish.

CuckooChess was included in DroidFish because at the time stockfish did not have a reduced strength setting, and even now CuckooChess can play a lot weaker than stockfish. Its lowest setting in fact plays completely random legal moves.

At the moment I don't see a justification for including texel in DroidFish, because it would make the app about 2.5MB larger, and I believe most users are interested either in the strongest possible engine (for analysis) or an engine that can be made arbitrarily weak (for playing), and texel is not really needed for those users.
petero2
Posts: 726
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.05

Post by petero2 »

petero2 wrote:- Fixed incorrect draw scores in multipv mode.
A bit more information about this bug. Consider the following position:
[d]8/4N3/6p1/4n2p/7P/5kPK/8/8 b - - 0 1
At depth 21 in multipv=2 mode, using both syzygy and gaviota tablebases, texel reports:

Code: Select all

info depth 21 score mate 20 time 9253 nodes 4491198 nps 485377 tbhits 1000217 multipv 1 pv e5g4 e7g6 f3f2 g6e5 g4e5 h3h2 e5g4 h2h3 g4e3 h3h2 e3f1 h2h1 f2g3 h1g1 f1e3 g1h1 g3h4 h1h2 h4g4 h2h1 g4h3 h1g1 h3g3 g1h1 e3f1 h1g1 f1d2 g1h1 h5h4 h1g1 h4h3 g1h1 d2e4 h1g1 h3h2 g1f1 g3f3 f1e1 h2h1q
info depth 20 score mate 426 time 9253 nodes 4491198 nps 485377 tbhits 1000217 multipv 2 pv f3f2 h3h2 f2f3 e7d5 e5g4 h2g1 f3g3 d5e7 g4e5 e7d5 g3h4 g1g2 g6g5 d5f6 g5g4 f6e4 e5f3 g2h1 f3d4 h1g2 d4f5 e4f2 g4g3 f2h1
Before the bug fix, the second line would not have been considered because texel incorrectly thought that white could get a draw by repetition at move 2 by playing Kh3. In reality that is not a draw because black can play 3 Ng4 and transpose into the first PV line. Before the bug fix, texel instead reported:

Code: Select all

info depth 37 score mate 20 time 15992 nodes 30946046 nps 1935095 tbhits 1974259 multipv 1 pv e5g4 e7g6 f3f2 g6e5 g4e5 h3h2 e5g4 h2h3 g4e3 h3h2 e3f1 h2h1 f2g3 h1g1 f1e3 g1h1 g3h4 h1h2 h4g4 h2h1 g4h3 h1g1 h3g3 g1h1 e3f1 h1g1 f1d2 g1h1 h5h4 h1g1 h4h3 g1h1 d2e4 h1g1 h3h2 g1f1 g3f3 f1e1 h2h1q
info depth 36 score cp 19 time 15992 nodes 30946046 nps 1935095 tbhits 1974259 multipv 2 pv f3f2 h3h2 e5g4 h2h1 f2f3 e7g6 f3g3 h1g1 g4e3 g1h1 e3f1 h1g1 f1d2 g6e5 g3h4 g1g2 d2e4 g2f3 e4f6 e5d3 h4g5 d3c5
So it incorrectly thought that there was only one winning move in this position.

I suspect that many other engines get this wrong too.
User avatar
Marek Soszynski
Posts: 586
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Texel 1.05

Post by Marek Soszynski »

petero2 wrote:
Marek Soszynski wrote:
petero2 wrote:The linux executable require a fairly recent 64-bit linux distribution to run. To compile your own linux version, see the readme.txt file.
Thank you for your engine.

I run Linux on my 64-bit PC (SSE3 not SSE4.2).

texel64old.exe runs okay via Wine.

My own Linux compile - simply "make" - runs much faster than texel64old.exe but on the other hand it doesn't report/access tablebases.

You provide several other executables. Couldn't you do a texel64old as well?
I don't know why tablebases are not working in your compiled version. There is no way to disable tablebase support at compile time. Did you use the correct path separator character, ":", for the SyzygyPath option?

Anyway, I compiled a version that should be suitable for your CPU: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64

I added "-march=core2 -DHAS_CTZ -DHAS_PREFETCH -DHAS_RT" to the compiler flags. On my computer it is about 5% faster than the default compilation but about 9% slower than the popcnt enabled version.
Many thanks for trying!
Unfortunately, this new compile doesn't work at all because I have glibc 2.16 installed.

Code: Select all

[marek@localhost Texel]$ ./texel105_nopopcnt_lnx_64
./texel105_nopopcnt_lnx_64: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./texel105_nopopcnt_lnx_64)
./texel105_nopopcnt_lnx_64: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./texel105_nopopcnt_lnx_64)
That tablebases work with one compile but not another is something I will look further into (given time).

In the meantime I'll use a Windows compile.

Your help was appreciated.
Marek Soszynski
petero2
Posts: 726
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.05

Post by petero2 »

Marek Soszynski wrote:
petero2 wrote:
Marek Soszynski wrote:
petero2 wrote:The linux executable require a fairly recent 64-bit linux distribution to run. To compile your own linux version, see the readme.txt file.
Thank you for your engine.

I run Linux on my 64-bit PC (SSE3 not SSE4.2).

texel64old.exe runs okay via Wine.

My own Linux compile - simply "make" - runs much faster than texel64old.exe but on the other hand it doesn't report/access tablebases.

You provide several other executables. Couldn't you do a texel64old as well?
I don't know why tablebases are not working in your compiled version. There is no way to disable tablebase support at compile time. Did you use the correct path separator character, ":", for the SyzygyPath option?

Anyway, I compiled a version that should be suitable for your CPU: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64

I added "-march=core2 -DHAS_CTZ -DHAS_PREFETCH -DHAS_RT" to the compiler flags. On my computer it is about 5% faster than the default compilation but about 9% slower than the popcnt enabled version.
Many thanks for trying!
Unfortunately, this new compile doesn't work at all because I have glibc 2.16 installed.
I replaced the binary with a statically linked one. Please try again from the same URL: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64
lucasart
Posts: 3241
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Texel 1.05

Post by lucasart »

Marek Soszynski wrote: Unfortunately, this new compile doesn't work at all because I have glibc 2.16 installed.

Code: Select all

[marek@localhost Texel]$ ./texel105_nopopcnt_lnx_64
./texel105_nopopcnt_lnx_64: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./texel105_nopopcnt_lnx_64)
./texel105_nopopcnt_lnx_64: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./texel105_nopopcnt_lnx_64)
The best solution on Linux is to compile yourself. It's very simple:

Code: Select all

$ make texel64 -j8
$ strip ./texel64
Also depending on your hardware, you can do a NUMA compile (see readme.txt).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
Marek Soszynski
Posts: 586
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Texel 1.05

Post by Marek Soszynski »

petero2 wrote: I replaced the binary with a statically linked one. Please try again from the same URL: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64
This runs now, but still no tablebase support.

Your windows compile did support the Gaviota and Syzygy tablebases I have. This was all in the same GUI, Scid (Linux), which (with Wine) runs Linux and Windows engines indistinguishably.

Anyway, many thanks for trying.

I shall go away and experiment. I'll recheck the paths, etc.
Marek Soszynski
petero2
Posts: 726
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.05

Post by petero2 »

Marek Soszynski wrote:
petero2 wrote: I replaced the binary with a statically linked one. Please try again from the same URL: https://dl.dropboxusercontent.com/u/896 ... cnt_lnx_64
This runs now, but still no tablebase support.

Your windows compile did support the Gaviota and Syzygy tablebases I have. This was all in the same GUI, Scid (Linux), which (with Wine) runs Linux and Windows engines indistinguishably.

Anyway, many thanks for trying.

I shall go away and experiment. I'll recheck the paths, etc.
That binary works for me with scid in fedora 20. I tried both 4.3 and the current git version of scid. After configuring the TB paths in the UCI options dialog and clicking the "Show engine info" button in the analysis window, TB hits are displayed.
Frank Quisinsky
Posts: 7045
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Texel 1.05

Post by Frank Quisinsky »

Hi Peter,

explain all!

I do the same in the time I produce the Ruffian / Arena DVD. PerOla got my order for a new UCI option (different level for reduce the playing strength of Ruffian, at this time Ruffian are the number 2, Shredder the number 1) before we release the commercial version. Works fine and my older partner Martin Blume (Arena, develops with Martin Arena) helps him.

But the best what I saw was an UCI project by an French student. The programmer of ZChess / Pharaon gave a stundent ... for around 10-12 years ... the possibilty to implemented a chess teacher in Pharaon 2.x versions ... as UCI option. Nice work the student do here. But I am sure Frank ZIBI helps him.

I like that idea a lot! Maybe better as to reduce the playing strength with levels or as additional possibility today.

I will install Texel on my Smartphone, thanks for your tip.

Best
Frank
User avatar
Sylwy
Posts: 4856
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: My test

Post by Sylwy »