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
Pygmalion sources
Moderators: hgm, Rebel, chrisw
-
- Posts: 307
- Joined: Wed Sep 01, 2021 4:08 pm
- Location: Germany
- Full name: Roland Tomasi
-
- Posts: 307
- Joined: Wed Sep 01, 2021 4:08 pm
- Location: Germany
- Full name: Roland Tomasi
Re: Pygmalion sources
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).
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).
-
- Posts: 179
- Joined: Tue Jun 15, 2021 8:11 pm
- Full name: Emanuel Torres
Re: Pygmalion sources
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.
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.
-
- Posts: 307
- Joined: Wed Sep 01, 2021 4:08 pm
- Location: Germany
- Full name: Roland Tomasi
Re: Pygmalion sources
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.
-
- Posts: 179
- Joined: Tue Jun 15, 2021 8:11 pm
- Full name: Emanuel Torres
Re: Pygmalion sources
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.
-
- Posts: 307
- Joined: Wed Sep 01, 2021 4:08 pm
- Location: Germany
- Full name: Roland Tomasi
Re: Pygmalion sources
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).
-
- Posts: 2487
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff