OpenMythosのサンプルプログラムを動かしました

1.概要 前回、OpenMythosの環境構築まで実現したので、GitHubにあるサンプルプログラム(Usage)を動かしてみました。一部エラーが発生しましたが、結果出力部分なので修正をしました。その内容を記述します。 2.詳細 Usageに記載されているPythonプログラムをopenmythos_usage.pyとして作成します。 $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py 下記エラーとなります [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) Traceback (most recent call last):   File "/home/nakasima/openmythos/openmythos_usage.py", line 48, in <module>     rho = torch.linalg.eigvals(A).abs().max().item()           ^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: linalg.eig: The input tensor A must have at least 2 dimensions. コードの下記部分を修正します #rho = torch.linalg.eigvals(A).abs().max().item() rho = A.abs().max().item() $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) [MLA] Spectral radius ρ(A) = 0.3679 (mus...

囲碁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

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました

LinuxMint 21.3にWinBoat導入を試してみました