Pygmalion sources

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Pygmalion sources

Post by R. Tomasi »

Since there has been some degree of confusion concerning Pygmalion (see forum3/viewtopic.php?f=7&t=78132&sid=dc ... b7#p905157), I decided to make its source code public under a GPLv3 license. Originally I intended to wait until the program and its source code achieve a certain degree of maturity.

I do realize that concerning chess-engines there always is the issue of plagiarism and origin of the engines. To avoid any further confusion making the source code public seems to be the best course of action to me. Since I planned to make the code public at some point, I can aswell do it now, even if the current state of the project isn't anywhere close to where I would have wanted it to be for publication.

Let me at that point clearly state, that Pygmalion is not related in any form to SOS 5.1 from Rudolf Hubner and the confusion that I caused because of my lack of skill when it comes to ICS was unintentional. I wish to apologize for it, especially to the authors of SOS.

The source code of Pygmalion is available on github now:
https://github.com/rtomasi75/pygmalion
R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Re: Pygmalion sources

Post by R. Tomasi »

I see that some people have cloned the repository, so I guess some explanation on which executable in the build is the actual chess engine is maybe required. It's the pygmalion-chess-frontend-test executable: at some point this will change, probably there will be something like pygmalion-chess eventually, but currently everything is still in an early testing stage. The pygmalion-chess-frontend-test executable is winboard v. 1 compliant. You can also type "help" to get a list of all commands that it accepts. The individual commands are not documented yet, though.

Depending on which compiler you use, you can enable/disable build variables in the cmake script: for GNU/clang toolchains I suggest enabling native builds (OPTIMIZE_FOR_NATIVE = ON, which will then include stuff like SSE/AVX/BMI2). If you're using a Microsoft toolchain, the native switch does not work and you should manually enable cpu features with the respective build variables (OPTIMIZE_FOR_BMI2, OPTIMIZE_FOR_AVX2). Don't forget to do a release build (the debug build is about 100x slower).
klx
Posts: 179
Joined: Tue Jun 15, 2021 8:11 pm
Full name: Emanuel Torres

Re: Pygmalion sources

Post by klx »

Thanks for releasing this. As I noted in another thread, the approach you took to sorting is pretty cool, and something I'll want to try out myself in the near future.

My primary recommendation would be to add a README.md explaining what the project is, features implemented, layout of the code, how to build/run it, etc. For example, your second post here should just be in the README.
[Moderation warning] This signature violated the rule against commercial exhortations.
R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Re: Pygmalion sources

Post by R. Tomasi »

Indeed, the code as it stands isn't ripe for publication. Lack of documentation being only one of many reasons for that. I think making it public nevertheless was the best course of action to clear up the confusion. Currently other tasks seem more urgent than documentation, though.
klx
Posts: 179
Joined: Tue Jun 15, 2021 8:11 pm
Full name: Emanuel Torres

Re: Pygmalion sources

Post by klx »

Out of curiosity, why are you not targeting C++20? There are some pretty useful additions there. IMHO it's always worth thinking about projects like this in a longer perspective and target the latest possible version, or one will regret it later.
[Moderation warning] This signature violated the rule against commercial exhortations.
R. Tomasi
Posts: 307
Joined: Wed Sep 01, 2021 4:08 pm
Location: Germany
Full name: Roland Tomasi

Re: Pygmalion sources

Post by R. Tomasi »

klx wrote: Thu Sep 16, 2021 2:42 am Out of curiosity, why are you not targeting C++20? There are some pretty useful additions there. IMHO it's always worth thinking about projects like this in a longer perspective and target the latest possible version, or one will regret it later.
At some point I probably will. At the moment C++20 isn't fully supported to the same degree on all platforms (at least as far as I am aware).
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Pygmalion sources

Post by Ras »

R. Tomasi wrote: Mon Sep 13, 2021 12:53 amTo avoid any further confusion making the source code public seems to be the best course of action to me.
Thanks, that's always cool! :)
Rasmus Althoff
https://www.ct800.net