Texel 1.09

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

Moderator: Ras

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

Texel 1.09

Post by petero2 »

Version 1.09 of my chess engine Texel is now available for download.

This version is believed to be around 200 elo (bayeselo) stronger than Texel 1.08 and 1.07.

The main change is that NNUE evaluation has been implemented, replacing the old hand-coded evaluation. Some special hand-coded endgame evaluation code has been kept though.

Version 1.08 was not previously announced since it is not significantly stronger than version 1.07. The main features are:
  • Add UCI_LimitStrength and UCI_Elo support, range -625 - 2540.
  • A MaxNPS UCI parameter has been added, which provides an alternative way to limit the engine strength.
  • Support for 7 man Syzygy tablesbases has been added.
  • Allow non-power-of-2 hash table size (up to 1 TiB).
  • More dynamic time management, using less time for "easy" moves.
The following pre-compiled binaries are included in the download:
  • texel64-avx2-bmi.exe:
    For Windows 7 or later x86-64 systems using AVX2, POPCOUNT and BMI2 instructions.
  • texel64-avx2-pop.exe:
    For Windows 7 or later x86-64 systems using AVX2 and POPCOUNT instructions.
  • texel64-avx2.exe:
    For Windows 7 or later x86-64 systems using AVX2 instructions.
  • texel64-ssse3.exe
    For Windows x86-64 systems with SSSE3 support.
  • texel64cl.exe:
    Cluster version of texel64-avx2-pop.exe.
    Requires Microsoft MPI to be installed.
  • texel-arm64-dot:
    For the ARMv8-A 64-bit architecture with dot product CPU instruction.
    Should work on many modern Android devices.
  • texel-arm64:
    For the ARMv8-A 64-bit architecture.
    Should work on most modern Android devices.
  • texel64:
    For Linux x86-64 systems with AVX2 and POPCOUNT support.
In most cases the first version in the list that works on your computer is the fastest, but the speed difference between the different AVX2 versions is rather small.
Damir
Posts: 2885
Joined: Mon Feb 11, 2008 3:53 pm
Location: Denmark
Full name: Damir Desevac

Re: Texel 1.09

Post by Damir »

Thanks a lot Peter. :)
User avatar
Dariusz
Posts: 379
Joined: Sat Jun 13, 2015 10:08 am
Location: Poland
Full name: Dariusz Domagała

Re: Texel 1.09

Post by Dariusz »

Texel 1.09 compilation for Mac Apple Silicon available for download from my site (Files section).
https://www.chessengeria.eu/files

Texel 1.09 is just playing in the MCERL cycle.

A beautiful gift you made Peter :)
Thanks !!
Regards, Darius
https://chessengeria.eu
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Texel 1.09

Post by Scally »

Thanks Peter,

It still compiles on Raspberry Pi 32-bit and is now up & running on my Picochess system …

Cheers,

Al
Programmingbear
Posts: 11
Joined: Fri Apr 02, 2021 3:26 pm
Full name: Lars Nowak

Re: Texel 1.09

Post by Programmingbear »

Hi Peter,

great engine!
I have a question to the UCI_LimitStrength
petero2 wrote: Sun Jul 30, 2023 12:33 pm Version 1.08 was not previously announced since it is not significantly stronger than version 1.07. The main features are:
  • Add UCI_LimitStrength and UCI_Elo support, range -625 - 2540.
I think the value is supposed to reflect the approximate Elo strength. But your range starts from minus 625.
What is your interpretation of this setting?

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

Re: Texel 1.09

Post by petero2 »

Scally wrote: Sun Jul 30, 2023 6:11 pm It still compiles on Raspberry Pi 32-bit and is now up & running on my Picochess system …
Nice! Does the RPi support NEON instructions? It could give a nice speedup if it works. I got it to work for a 32-bit Android phone using this change:

https://github.com/peterosterlund2/texe ... 3e95c1dce5

Maybe the ifdef needs to be adjusted to work on 32-bit RPi though.
petero2
Posts: 729
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Texel 1.09

Post by petero2 »

Programmingbear wrote: Sun Jul 30, 2023 8:44 pm Hi Peter,

great engine!
I have a question to the UCI_LimitStrength
petero2 wrote: Sun Jul 30, 2023 12:33 pm Version 1.08 was not previously announced since it is not significantly stronger than version 1.07. The main features are:
  • Add UCI_LimitStrength and UCI_Elo support, range -625 - 2540.
I think the value is supposed to reflect the approximate Elo strength. But your range starts from minus 625.
What is your interpretation of this setting?

Regards
Lars
Hi Lars,

On the weakest strength setting Texel plays completely random moves, and when I tested that it seemed to have a negative elo of approximately -625. Negative elo is possible, even though it typically never happens for humans, because people that are so weak typically don't like to play chess at all and therefore never get a rating.

Another question that has come up before is why the maximum is 2540 when texel can play much stronger than that. The reason is that I want the specified strength to be the same regardless of CPU speed, and 2540 was a value I thought most reasonable CPUs would be able to achieve. If I had set the max to eg 3000, it would probably not have been achievable on a slow old Android phone.

A third question is what rating scale is used for the UCI_Elo setting (USCF, FIDE, CCRL, etc). The answer is that I don't know, but a long time ago I tried to make the strength comparable to Stockfish when its UCI_Elo feature was used. Stockfish may not have the same UCI_Elo definition now though. Also Texel's UCI_Elo maybe needs to be recalibrated after introducing NNUE.
Programmingbear
Posts: 11
Joined: Fri Apr 02, 2021 3:26 pm
Full name: Lars Nowak

Re: Texel 1.09

Post by Programmingbear »

Hi Peter,

thank you for your explanation!
I hadn't seen specifying a negative value in any other engine before, but your explanation makes sense.

Lars
User avatar
Ras
Posts: 2701
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Texel 1.09

Post by Ras »

petero2 wrote: Sun Jul 30, 2023 9:17 pmThe reason is that I want the specified strength to be the same regardless of CPU speed
I use CPU speed calibration for that. 50ms of empty waiting loop to ramp up the clock, then 250ms run and check the node count.
Rasmus Althoff
https://www.ct800.net
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: Texel 1.09

Post by Scally »

petero2 wrote: Sun Jul 30, 2023 9:05 pm Nice! Does the RPi support NEON instructions? It could give a nice speedup if it works. I got it to work for a 32-bit Android phone using this change:

https://github.com/peterosterlund2/texe ... 3e95c1dce5

Maybe the ifdef needs to be adjusted to work on 32-bit RPi though.
Hi Peter,

Yes, the Raspberry Pi 4 supports NEON which I have in my DGT Pi …

I have applied your suggested change and recompiled Texel v1.09.
I can’t find a bench command or similar so am now running a Cutechess tournament between my before and after neon-added compiles.
Early indications show an improvement, I’ll let you know the result …


Cheers,

Al