github lightvector/KataGo v1.8.1
Distributed Client Bugfixes, Friendly Passing, Engine Bugfixes

latest releases: v1.15.1, v1.15.0, v1.14.1...
3 years ago

If you're a new user, don't forget to check out this section for getting started and basic usage!

KataGo is continuing to improve at https://katagotraining.org/ and if you'd like to donate your spare GPU cycles and support it, it could use your help there! And development is still active! Coming down the pipe in the future, although not in time for this release, there are some search improvements being worked on, which should provide a major strength boost.

If you don't know which version to choose (OpenCL, CUDA, Eigen, Eigen AVX2), read this: https://github.com/lightvector/KataGo#opencl-vs-cuda-vs-eigen

Distributed Client Improvements (for contributing to the public run at katagotraining.org)

  • Improved handling of errors and network connection issues, including fixing at least two bugs that could cause endless hangs or deadlocks.

  • Distributed client now will attempt to stop gracefully on the first interrupt (e.g. ctrl-c), finishing its current remaining games. A second interrupt will force a stop more immediately.

  • Distributed client now supports https_proxy environment variable for users using a proxy to connect to the internet.

  • The OpenCL version of the client will now tune all necessary model sizes up-front upon startup the first time, which should be more accurate and less-disruptive than tuning them in the middle when a new model of that size is downloaded. This may take a little while, so please be patient.

Engine Improvements

  • Friendly passing - when KataGo is set to named rules other than tromp-taylor, if the opponent has just passed, it will more often pass in response without attempting to do much cleanup of dead stones, so long as there are no gainful moves left.

    • When NOT specifying rules by name (like japanese or aga), but rather by individual options (koRule, scoringRule,...), the new individual option controlling this behavior is friendlyPassOk = true or friendlyPassOk = false (default).
  • KataGo now supports Fischer time controls, along with new GTP extensions kata-time_settings and kata-list_time_settings documented here with hopefully rigorous-enough semantics to support future time control additions and be implementable by any other engine that wants to mimic the same spec.

  • GTP can now change the number of search threads at runtime, via kata-set-param, documented here.

  • GTP final-score and related commands should also now behave in accordance with friendly passing, reporting the Tromp-Taylor score after two passes in tromp-taylor rules, and the estimated human-friendly score after dead stone removal in other rules.

  • Fixed GTP bug where certain commands relating to scoring or ending the game (e.g. final_status_list) might silently alter settings like playoutDoublingAdvantage for that run of GTP.

  • Various minor improved logging and error messages in multiple top-level commands and utilities.

  • Fixed issue where using a large number of threads could sometimes make GTP final score estimation inaccurate, by capping the number of threads.

Dev-facing Improvements and Internal Changes

  • The analysis engine now reports two new fields thisHash and symHash for the root info, which are Zobrist hashes of the situation being analyzed that can be used to identify or distinguish positions and their symmetrical partners.

  • Fixed a bug in the vartime auxiliary training target where the loss wasn't being weighted correctly, causing major biases in the neural net's learning of this target.

  • Several internal cleanups and refactors of some dev tools for sampling and mining SGFs and running test positions, added some command-line arguments for filtering SGFs based on some criteria.

  • Added some logic to handle parsing of the oddly-formatted komi and ranks for Fox server SGFs.

  • Updated to a version newer version of a json-parsing library to fix an issue where on specific versions of MSVC, the older json library would cause compile errors.

Don't miss a new KataGo release

NewReleases is sending notifications on new releases.