Fuegoが重たい(のでssh経由でサーバにFuegoをオフロード)

Mac

Mac mini 2018にFuegoとSabakiを入れてFuegoに囲碁の初心者(自分のこと)の相手をしてもらうと、初心者相手でもFuegoが全力で思考するのでCPUを使いまくって冷却ファンが回ってうるさい。

対戦しているんだから静かにしなさい!

となると、まあ自宅鯖のRyzen 5600GにFuegoをオフロードしたいわけだが、自宅鯖はRHEL8なんでFuegoパッケージは無い。ので、FedoraからFuegoのソースRPMを持ってきてRHEL8でrpmbuild -bb rpmbuild/SPECS/fuego.specする。できたRPMパッケージをインストールする。

dnf -y install rpmbuild/RPMS/x86_64/fuego-1.1-18.1.x86_64.rpm

RPMファイルを置いておく。たぶんCentOS8でも動く。他のディストリならパッケージがあるかもしれないので、apt searchするなりして見つけて下さい。

Fuegoは特に指定しなくてもGTP (Go Text Protocol) モードで起動するらしいので、sshの鍵を交換してあればmacOSからコマンドとして実行できる、と。いちおう鍵の交換も書いておく。まずはmacOSで

% ssh-keygen -t rsa

したら、scpでmacOSからサーバに転送する。サーバに.sshディレクトリが無ければ作っておく。

% scp .ssh/id_rsa.pub user@servername:~/.ssh/authorized_keys
% ssh user@servername chmod 600 ~/.ssh/authorized_keys

これでsshでfuegoコマンドを実行できる、と。

% ssh rio@rio.st /usr/bin/fuego
Fuego 1.1
Copyright (C) 2009-2011 by the authors of the Fuego project.
This program comes with ABSOLUTELY NO WARRANTY. This is
free software and you are welcome to redistribute it under
certain conditions. Type `fuego-license' for details.

SgRandom::SetSeed: 1635659253
SgUctSearch: system memory 66589446144, using 1000000000 (6944444 nodes)
GoUctGlobalSearch: setting default number of threads to 4
Loading opening book from '/usr/bin/fuego/book.dat'... not found
Loading opening book from '/root/rpmbuild/BUILD/fuego-1.1/book/book.dat'... not found
Loading opening book from '/usr/share/fuego/book.dat'... ok
name
= Fuego

version
= 1.1

protocol_version
= 2

list_commands
= all_legal
all_move_values
autobook_additive_cover
autobook_close
autobook_counts
autobook_cover
autobook_expand
autobook_export
......

sshで動いたので、Sabakiに設定を入れる。

  • パス:/usr/bin/ssh
  • 引数:user@servername /usr/bin/fuego
  • 初期化コマンド:空欄

白をFuegoに設定して、プレイ、と。

適当に石を置くと、サーバのtopにFuegoが出てくるのでオフロード出来ているのが分かる。すげえメモリ喰いますな、こいつ…。

Mac miniが静かになったので、対戦に集中出来る、と。

もっと強火のサーバをAzureに立てても全く同じことが出来る。vCPU 64個のFuegoとの対戦も可能。自分の手元のマシンはSabakiが動作するぐらいの性能があれば十分、と。Remote Desktopで画面転送なんて、かったるくてやってられん。

追記:FuegoやGNU Goについて書いたブログは色々見つかるんだけど、どっちもリモートサーバにして使う方法がほぼ説明が無いので書いた。なお、Mac mini 2018のCore i7より、Ryzen 5600Gの方がかなり石を置くのが速いw