Building KataHex

From HexWiki
Revision as of 16:34, 25 January 2026 by Selinger (Talk | contribs)

Jump to: navigation, search

There is more than one version of KataHex out there, so these instructions have variants


Ubuntu Linux

You can get Selinger's version of KataHex with the following command, which connects you to the Git history, and enables you to contribute edits:

git clone https://github.com/selinger/katahex.git

This creates a katahex directory wherever you execute that command. If you want to build multiple variants, you will have to do a separate load for each one (trying to reuse a build directory creates chaos). Just rename the one you just created to reflect the variant name, and do another git clone.

You may have to install additional software to work with KataHex, using apt-get or synaptic to install packages. For example, the TCMALLOC option protects from problems related to memory management when you run more than one instance at at time. You may have to install one or more packages

  • libtcmalloc-minimal4t64
  • librust-tcmalloc-dev
  • librust-tcmalloc-sys-dev

The code works with at least 4 backends (software where the real work is done), EIGEN, OPENCL, CUDA, AND TENSORRT

EIGEN (CPU only)

The following BASH commands then may do the trick, but will produce code that may only work on the exact CPU model you use for the build. See comments in the KataHex source code, as well as the KataGo source code (on with KataHex is based, and which contains more details).

 cmake . -DUSE_BACKEND=EIGEN -DUSE_AVX2=1 -DUSE_TCMALLOC=1 -DCMAKE_CXX_FLAGS='-march=native' -DMAX_BOARD_LEN=19
 make -j 4    

OPENCL

You may be able to use almost the same commands as for EIGEN, just by changing to -DUSE_BACKEND=OPENCL

CUDA

I have not yet been able to build with the CUDA backend

TENSORRT

I have not yet been able to build with the TENSORRT backend