macOSでKataGoをコンパイルする。

[主題]
macOSでHomebrewを使わずにKataGoをコンパイルする手順を説明したい。

[背景]
KataGoとは、AIの技術を用いたコンピュータ囲碁プログラムである。詳しくはウィキペディアの記事を参照されたい。
本ブログエントリは、KataGoのコンパイルについて、本家でもHomebrewを推奨しているのを、敢えて使わない選択をしたものである。

[環境]
参考までに、筆者の環境を記載しておく
MacBook Air 2023 15inch(Apple Silicon Mac)
macOS Tahoe 26.1
Xcode 26.1.1
CommandLine Tools for Xcode 26.1.0.0.1

[手順]

  1. cmakeのコンパイルとインストール

    cmakeのダウンロード(共通)

    curl -LO https://github.com/Kitware/CMake/releases/download/v4.1.2/cmake-4.1.2.tar.gz
    tar xf cmake-4.1.2.tar.gz
    cd cmake-4.1.2

    JRE、JDKがインストールされていない場合は、以下を実行する。

    rm Modules/FindJava.cmake
    curl -OJL "https://docs.google.com/uc?export=download&id=0B2uOKVwFe1AXU1QzdXlvc0VRSEU"
    patch -p1 < cmake_CMakeLists.patch

    cmakeのコンパイル(共通)

    ./bootstrap; make -j$(sysctl -n hw.ncpu); sudo make install
  2. libzipのインストール

    curl -LO https://libzip.org/download/libzip-1.11.4.tar.xz
    tar xf libzip-1.11.4.tar.xz
    cd libzip-1.11.4
    mkdir -p build
    cd build
    cmake ..
    make
    sudo make install
  3. KataGoコンパイル方法の選択
    katagoは、バックエンドに用いるライブラリにより、コンパイル手順がやや異なる。ここでは、eigenを用いる場合と、OpenCLを用いる場合を紹介する。

    バックエンドにeigenを用いる場合

    1. eigenのインストール

      curl -LO https://gitlab.com/libeigen/eigen/-/archive/5.0.1/eigen-5.0.1.tar.bz2
      tar xf eigen-5.0.1.tar.bz2
      mkdir -p eigen_build
      cd eigen_build
      cmake ../eigen-5.0.1
      make -j$(sysctl -n hw.ncpu); sudo make install
      cd /usr/local/include
      sudo ln -sf eigen3/Eigen Eigen
      sudo ln -sf eigen3/unsupported unsupported
    2. katagoのコンパイル

      curl -LO https://github.com/lightvector/KataGo/archive/refs/tags/v1.16.4.tar.gz
      tar xf v1.16.4.tar.gz
      cd KataGo-1.16.4/cpp
      cmake . -DUSE_BACKEND=EIGEN -DNO_GIT_REVISION=1
      make -j$(sysctl -n hw.ncpu)

    バックエンドにOpenCLを用いる場合

    1. katagoのコンパイル

      curl -LO https://github.com/lightvector/KataGo/archive/refs/tags/v1.16.4.tar.gz
      tar xf v1.16.4.tar.gz
      cd KataGo-1.16.4/cpp
      cmake . -DUSE_BACKEND=OPENCL -DNO_GIT_REVISION=1
      make -j$(sysctl -n hw.ncpu)
  4. KataGoのmakeが終わると、ビルドしたディレクトリ(cpp)にkatagoという名前の実行ファイルができる。これをコピーして用いる。また、以下のディレクトリに設定ファイル(gtp_example.cfg)があるので、これもコピーしておく。

    KataGo-1.16.4/cpp/configs

    KataGoの実行には、他にneuralnetsと呼ばれるファイルが必要である。これについては、別記事で述べる。

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL