Pedantic Developer's Log Stardate...

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

JoAnnP38
Posts: 250
Joined: Mon Aug 26, 2019 4:34 pm
Location: Clearwater, Florida USA
Full name: JoAnn Peeler

Re: Pedantic Developer's Log Stardate...

Post by JoAnnP38 »

lithander wrote: Sun Oct 15, 2023 9:48 pm Congrats on the release! That's another huge improvement over the previous version! Reaching 3000 Elo without NNUE is quiet a feat, imo.
Hey thanks! I feel like C# gets a bum rap on performance. But honestly, at least in regard to chess engine applications or maybe even machine learning in general, the performance of C# is very comparable to the languages that are being touted for performance (i.e. C++ or Rust.) The one area that neither C++ or Rust can compete, is the capability demonstrated by the .NET run-time to optimize code based on run-time characteristics (i.e. optimizing branches, memory loads, etc.) Originally, I was originally going to eventually migrate Pedantic to C++ for better performance, but I'm thinking my time would be better spent starting a NNUE engine when I'm done with Pedantic.
Ras
Posts: 2528
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Pedantic Developer's Log Stardate...

Post by Ras »

JoAnnP38 wrote: Mon Oct 16, 2023 12:29 amThe one area that neither C++ or Rust can compete, is the capability demonstrated by the .NET run-time to optimize code based on run-time characteristics (i.e. optimizing branches, memory loads, etc.)
C/C++ compilers such as GCC and Clang offer PGO, profile guided optimisation. Since Rust uses LLVM as back-end, it should also allow that.
Rasmus Althoff
https://www.ct800.net
JoAnnP38
Posts: 250
Joined: Mon Aug 26, 2019 4:34 pm
Location: Clearwater, Florida USA
Full name: JoAnn Peeler

Re: Pedantic Developer's Log Stardate...

Post by JoAnnP38 »

Ras wrote: Mon Oct 16, 2023 7:32 am
JoAnnP38 wrote: Mon Oct 16, 2023 12:29 amThe one area that neither C++ or Rust can compete, is the capability demonstrated by the .NET run-time to optimize code based on run-time characteristics (i.e. optimizing branches, memory loads, etc.)
C/C++ compilers such as GCC and Clang offer PGO, profile guided optimisation. Since Rust uses LLVM as back-end, it should also allow that.
It was my understanding that the PGO offered by Clang was based on a static profile and doesn't allow for changes to that profile gathered real-time as the program is running. Whereas the .NET runtime supports both static and dynamic profiles. The .NET runtime is constantly gathering runtime statistics and optimizing and reoptimizing code as conditions change as the program is running. C++ does not support dynamic PGO as such. If I'm wrong, then I apologize for mischaracterizing the capabilities of the C++ development environment.
Ras
Posts: 2528
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Pedantic Developer's Log Stardate...

Post by Ras »

JoAnnP38 wrote: Mon Oct 16, 2023 9:50 amIt was my understanding that the PGO offered by Clang was based on a static profile and doesn't allow for changes to that profile gathered real-time as the program is running.
Oh, that's true. The profile is generated over different positions and won't adjust to changing circumstances after building the final binary. It's an interesting question whether the additional performance potential from dynamic optimisation like .NET, e.g. when transitioning through the different phases of a game, outweighs the possible additional overhead from gathering that information.
Rasmus Althoff
https://www.ct800.net
JoAnnP38
Posts: 250
Joined: Mon Aug 26, 2019 4:34 pm
Location: Clearwater, Florida USA
Full name: JoAnn Peeler

End of the Pedantic HCE Experiement

Post by JoAnnP38 »

End of the Pedantic HCE Experiement

Just a little over one year ago "we" announced the release of Pedantic. We were ambititious at the time, and announced it as the pursuit of my dream to build my first working chess engine (since my first in the early 1980s). In our first Amateur Series tournament in division 10, Pedantic surprised tournament leader Apotheosis, with a surprise counter attack from its queen dashing Spamdrew's hopes to finish that tournament undefeated. Today, I am announcing that I will no longer be working on HCE enhancements for Pedantic, but will instead focus on NNUE and all the promise it will surely provide.

As time passes, interest in investing in Pedantic HCE may arise once again. But until then, I want to say thinks to the core team: me, myself and I. This ragtag team of gals will forever have a place in my heart.

A big thanks to all the fans, testers, viewers, and general enthusiast who followed our progress.
Dann Corbit
Posts: 12615
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Pedantic Developer's Log Stardate...

Post by Dann Corbit »

Tuning to a test set will weaken game play. It can be useful to find out if an idea is implemented correctly.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.