Katago
Katago is a very strong go engine.
There are several build options for Katago's derivation. Katago can use either Eigen, OpenCL, or CUDA. By default, it uses OpenCL.
Using CUDA:
katago.override { enableCuda = true; cudnn = cudnn_cudatoolkit_10_2; # insert your favorite version of CUDA here cudatoolkit = cudatoolkit_10_2; # I recommend at least CUDA 10, because older versions suffer major performance penalties }
Using Eigen:
katago.override { enableGPU = false; }
If your processor support AVX2, you might want to enable it:
katago.override { enableAVX2 = true; }
By default, katago uses the TCMalloc memory allocator. It is not recommended that you disable it due to severe fragmentation issues after running katago for a few hours. However, if you cannot use TCMalloc, and you do not plan on running katago for extended periods of time, you can disable it anyway.
katago.override { enableTcmalloc = false; }
Katago also supports large boards (up to 29x29); however, there are no networks trained specifically on them, and enabling them slows down even normal sized board play, so it is disabled by default. If you want to enable support:
katago.override { enableBigBoards = true; }
Enabling [distributed training](https://katagotraining.org/) contributions:
katago.override { enableContrib = true; openssl = openssl; git = git; }