Difference between revisions of "Building KataHex"

From HexWiki
Jump to: navigation, search
(Add: how to get and build the code)
(Clarify)
Line 15: Line 15:
 
* <code>librust-tcmalloc-sys-dev</code>
 
* <code>librust-tcmalloc-sys-dev</code>
  
The code works with at least 4 backends (software where the real work is done), EIGEN, CUDA, OPENCL AND TENSORRT.
+
The code works with at least 4 backends (software where the real work is done), EIGEN, OPENCL, CUDA, AND TENSORRT
  
 
==== EIGEN (CPU only) ====
 
==== EIGEN (CPU only) ====
Line 23: Line 23:
  
 
<pre>
 
<pre>
  cmake . -DUSE_BACKEND=EIGEN -DUSE_AVX2=1 -DUSE_TCMALLOC=1 -DCMAKE_CXX_FLAGS='-march=native'
+
  cmake . -DUSE_BACKEND=EIGEN -DUSE_AVX2=1 -DUSE_TCMALLOC=1 -DCMAKE_CXX_FLAGS='-march=native' -DMAX_BOARD_LEN=19
 
  make -j 4     
 
  make -j 4     
 
</pre>
 
</pre>
 +
 +
==== OPENCL ====
 +
You may be able to use almost  the same commands as for EIGEN, just by changing to -DUSE_BACKEND=OPENCL
  
 
==== CUDA ====
 
==== CUDA ====
Line 32: Line 35:
 
==== TENSORRT ====
 
==== TENSORRT ====
 
I have not yet been able to build with the TENSORRT backend
 
I have not yet been able to build with the TENSORRT backend
 
==== OPENCL ====
 
I have not yet been able to build with the OPENCL backend
 

Revision as of 02:10, 19 January 2026

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

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