囲碁AIのLizzieとleela-zeroとGPUの組合せで動作検証(GPU版)
1.概要
前回、囲碁AIのLizzieをCPU環境で構築しました。今回はGPU環境で構築して、どの程度の性能改善するかを確認します。Ubuntuではエンジン部分の構築が変わります。GPUはnvidiaのgtx-1050Ti, gtx-1660 superで実施しました。見た目に性能が向上します。打つ手の候補を次々と探索していく様子が確認できます。
今回は、GPU環境での構築に関して記述します。
※nvidai-driver-515とcuda 11.7で記述していますが、nvidia-driver-520とcuda 11.8でも動作します。
2.詳細
(1) 導入方法の検討
本ブログのLizzie using CPUを参照願います。
GPUを利用するために、nvidiaのドライバ導入、CUDA導入追加して、souceのbuildが必要です。
(2) 導入
(a) nvidiaドライバ導入
(b) cuda導入
これ以降は、Lizzie using CPUと同じ手順です。
(c) Lizzie.0.7.4.Mac-Linux.zip を参考サイトからDownloadして、解凍
(d) 必要なツールの導入
(e) souceコードのコピー
(f) config.hの修正(不要です)
(g) souceコードの修正(fix適用)
(h) make後、 実行モジュールのコピー
(3) 詳細
(a) nvidiaドライバ導入
ubuntu標準のnouveauを無効化します
/etc/modprobe.d/blacklist.conf に下記2行を追加します
blacklist nouveau
options nouveau modeset=0
次に、下記コマンドを実行します
$ sudo update-initramfs -u
次に、下記コマンドでnvida-driver(515)を導入します。
$ sudo apt install nvidia-driver-515
(b) cuda導入
参考資料を参照してcuda 11.7.1-515.65.01-1を導入します
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-ubuntu2004-11-7-local_11.7.1-515.65.01-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.1-515.65.01-1_amd64.deb
$ sudo cp /var/cuda-repo-ubuntu2004-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/sudo apt-get update
$ sudo apt-get -y install cuda
(c) Lizzie.0.7.4.Mac-Linux.zip を参考サイトからDownloadして、解凍
$ wget https://github.com/featurecat/lizzie/releases/download/0.7.4/Lizzie.0.7.4.Mac-Linux.zip
$ unzip Lizzie.0.7.4.Mac-Linux.zip
上記手順でLizzieディレクトリに解凍されます。
(d) 必要なツールの導入
$ sudo apt -y install build-essential default-jre git
$ sudo apt -y install libboost-dev libboost-program-options-dev libopenblas-dev opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev zlib1g-dev libboost-filesystem1.71-dev
(e) souceコードのコピー
$ git clone https://github.com/gcp/leela-zero
上記手順でleela-zeroディレクトリにコピーが作成されます
(f) config.hの修正
GPUの場合は修正不要です。
(g) souceコードの修正(fix適用)
$ cd leela-zero/src
$ git submodule update --init --recursive
(h) make後、 実行モジュールのコピー
$ cd leela-zero/src
$ make
$ mv leelaz ../../Lizzie
(4) 評価
$ nvidia-driverとubuntu,cudaのversionを一致させることが必要です。
(5) 実行
$ cd Lizzie
$ java -jar lizzie.jar
上記操作でGUIが起動し、学習済みモデルを利用してエンジンも起動します。
追加
GPU版の導入手順を見直しました
参考
[本ブログ内参照]
・囲碁AIのlizzieとleela_zeroの組合せをGPUを利用して動作確認しました
[外部サイト参照]
・CUDA Toolkit 11.7 Update 1 Downloads
・Lizzie v0.7.4
・Hatakazu's weBLOG
コメント
コメントを投稿