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

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

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

[環境]
参考までに、筆者の環境を記載しておく
MacBook Air 2023 15inch(Apple Silicon Mac, M2)
mmacOS Sonoma 14.6.1
Xcode 15.4
CommandLine Tools for Xcode 15.3.0.0.1

[手順]

  1. cmakeのインストール

    curl -LO https://github.com/Kitware/CMake/releases/download/v3.26.6/cmake-3.26.6.tar.gz
    cd ${CMPL}
    rm -fr cmake-*
    tar xf ${SRC}/cmake-3.26.6.tar.gz
    cd cmake-3.26.6
    rm Modules/FindJava.cmake
    curl -OJL "https://docs.google.com/uc?export=download&id=0B2uOKVwFe1AXU1QzdXlvc0VRSEU"
    patch -p1 < cmake_CMakeLists.patch
    ./bootstrap; make; sudo make install

    JRE, JDKが入っている環境では、6-8行目の作業は必要ない。

  2. libzipのインストール

    curl -LO https://libzip.org/download/libzip-1.10.1.tar.xz
    tar xf libzip-1.10.1.tar.xz
    cd libzip-1.10.1
    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/3.4.0/eigen-3.4.0.tar.bz2
      tar xf eigen-3.4.0.tar.bz2
      mkdir -p eigen_build
      cd eigen_build
      cmake ../eigen-3.4.0
      sudo make install
    2. katagoのコンパイル

      curl -LO https://github.com/lightvector/KataGo/archive/refs/tags/v1.15.3.tar.gz
      tar xf v1.15.3.tar.gz
      cd KataGo-1.15.5/cpp
      cmake . -DUSE_BACKEND=EIGEN -DNO_GIT_REVISION=1
      make

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

    1. katagoのコンパイル

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

    KataGo-1.13.2/cpp/configs

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

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

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

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

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

トラックバック URL