Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace cutechess-cli by fast-chess in the worker? #2106

Open
vondele opened this issue Jul 5, 2024 · 4 comments · May be fixed by #2119
Open

Replace cutechess-cli by fast-chess in the worker? #2106

vondele opened this issue Jul 5, 2024 · 4 comments · May be fixed by #2119
Labels
enhancement worker update code changes requiring a worker update

Comments

@vondele
Copy link
Member

vondele commented Jul 5, 2024

https://github.com/Disservin/fast-chess is quite actively developed, and probably quite close to being feature complete.

Some advantages:

  • possible to use a direct drop in replacement
  • quickly builds from sources, no binary download needed, runs probably on many platforms.
  • able to deal with large concurrency and shorter TCs
  • some recent developments in there could help simplify worker code (e.g. pentamonial stat output possible)
  • fairly extensive testing has happened already
@ppigazzini ppigazzini added enhancement worker update code changes requiring a worker update labels Jul 5, 2024
@peregrineshahin
Copy link
Contributor

Another advantage I noticed is that it can be cloned and built on worker machine.. instead of dependency on https://github.com/official-stockfish/books .

@vondele
Copy link
Member Author

vondele commented Jul 5, 2024

(see bullet point 2 ;-) )

@gahtan-syarif
Copy link

fast-chess has an option to be built with cutechess output ( `make -j USE_CUTE' ) so no changes to the output parsing is necessary, though it still needs to be tested. same thing goes for the commands.

from what i found this is the only branch with fastchess available https://github.com/Disservin/fishtest/tree/fastchess , although this one is very outdated, maybe theres a newer one that im not aware of that can be shared here?

@ghost
Copy link

ghost commented Jul 7, 2024

  • cutechess has maintained for more than 10 years.
  • fastchess has maintained for less than 1 year.

No one can guarantee that nothing will ever go wrong.

vondele pushed a commit to vondele/fishtest that referenced this issue Jul 10, 2024
fixes official-stockfish#2106

based on https://github.com/Disservin/fishtest/tree/fastchess

some work is still needed to resolve output differences between fast-chess and
cutechess-cli, and general validation
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 13, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
@vondele vondele linked a pull request Jul 13, 2024 that will close this issue
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 13, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 13, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 15, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 15, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 15, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 15, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 15, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 18, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
vondele pushed a commit to vondele/fishtest that referenced this issue Jul 21, 2024
fixes official-stockfish#2106

This PR switches from cutechess-cli to fast-chess.

cutechess-cli has been serving us well in the past years, however, some issues
have accumulated, namely the difficulty of compiling cutechess-cli, the
observed timeouts at high concurrency and short TC, and e.g. slowness when
indexing larger books.  fast-chess https://github.com/Disservin/fast-chess has
addressed these issues, and has now probably become mature enough to serve as
the game manager for fishtest.

As an example of its ability to deal with short TC and high concurrency:
https://dfts-0.pigazzini.it/tests/view/669249cdbee8253775cede32
with concurrency 25, and TC 1+0.01s no timeouts are observed.

fast-chess is built from sources, with the zip download as well as the binary
cached as needed.  There is fine-grained control over which version of
fast-chess is used, so we can easily upgrade for new features.

In this PR, fast-chess is built in cutechess compatibility to facilitate
integration, and to benefit from the existing fishtest checks. Once validated,
we should be able to switch easily to its native mode, which can output
trinomial and pentanomial results, and we should be able significantly simplify
the worker's book-keeping.

Co-Authored-By: Disservin <[email protected]>
Co-Authored-By: Gahtan Nahdi <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement worker update code changes requiring a worker update
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants