-
Notifications
You must be signed in to change notification settings - Fork 8
/
readme.txt
150 lines (99 loc) · 5.34 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
1. AobaZero が提供するプログラム群のビルド方法
---------------------------------------------
Ubuntu, CentOS, Windows でビルドする方法を記します。OpenCL 1.2 の開発・実行
環境か、CPU 上で実行可能な BLAS (IntelMKL か OpenBLAS) が必要になります。両
方使うことも可能です。
1.1 Ubuntu
Ubuntu での手順を記します。ビルド前に、利用したいハードウエアのベンダが提供
する情報に従って、OpenCL 1.2 の環境を各自ご用意下さい。CPU のみで計算を行う
プログラムをビルドする場合には OpenCL 環境は不要です。
- Boost や liblzma 等をインストール
> sudo apt install libboost-dev libboost-program-options-dev
> sudo apt install libboost-filesystem-dev liblzma-dev zlib1g-dev
> sudo apt install opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev
> sudo apt install libopenblas-base libopenblas-dev
- make を実行
> make -j[number of threads]
CPUのみで計算を行うプログラムをビルドしたいならば、
src/usi_engine/Makefile の51行目を
CPU_ONLY = 1
にしてビルドして下さい。
1.2 CentOS
CentOS での手順を記します。
- liblzma などをインストール
> sudo yum install epel-release
> sudo yum install xz-devel zlib-devel opencl-headers
- GCC 7.3.1 をインストール
> sudo yum -y install centos-release-scl
> sudo yum -y install devtoolset-7
> scl enable devtoolset-7 bash
GCC 7.3.1 が利用可能な環境で bash が起動します。
- boost 1.58.0 をインストール
> cd
> wget http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.gz
> gzip -dc boost_1_58_0.tar.gz | tar xvf -
> cd boost_1_58_0
> ./bootstrap.sh
> ./b2 install -j[number of threads] --prefix=/[a path with write permission]/inst-dts7
- OpenBLAS を使うならばこれをインストール
> cd
> git clone https://github.com/xianyi/OpenBLAS.git
> cd OpenBLAS
> make -j[number of threads]
> make install PREFIX=/[a path with write permission]/inst-dts7
- Intel MKL を使うならばこれをインストール
Intel 社が提供する情報に従ってインストールして下さい。
また、Makefile.config を書き換えて MKL を使用してビルドするように指定して
ください。
- OpenCL を使うならばこれの実行環境をインストール
利用したいハードウエアのベンダが提供する情報に従って、OpenCL 1.2 の環境を
インストールする。
- 環境変数の設定
コンンパイラとリンカのパスを設定します。
Bourne Shell 系ならば
> export CPLUS_INCLUDE_PATH=/path to inst-dts7/include:$CPLUS_INCLUDE_PATH
> export LIBRARY_PATH=/path to inst-dts7/lib:$LIBRARY_PATH
> export LD_RUN_PATH=/path to inst-dts7/lib:$LD_RUN_PATH
C Shell 系ならば
> setenv CPLUS_INCLUDE_PATH /path to inst-dts7/include:$CPLUS_INCLUDE_PATH
> setenv LIBRARY_PATH /path to inst-dts7/lib:$LIBRARY_PATH
> setenv LD_RUN_PATH /path to inst-dts7/lib:$LD_RUN_PATH
これらに加えて、OpenCL やIntel MKL などのパスの環境変数も必要ならば設定して
下さい。OpenCL, OpenBLAS 及び Intel MKL のパスは Makefile.config でも指定可
能です。
- make を実行
> make -j[number of threads]
CPUのみで計算を行うプログラムをビルドしたいならば、
src/usi_engine/Makefile の51行目を
CPU_ONLY = 1
にしてビルドして下さい。
1.3 Windows
- autousi.exe のビルド
Visual Studio 2017の「VS2017用 x64 Native Toolsコマンドプロンプト」を起動し、
バッチファイルを実行します。
> build_vs.bat
- aobaz.exe のビルド
まず、上述の autousi.exe のビルドを済ませてください。これによって生成される
幾つかのインクルードファイルが必要になります。そして、Visual Studio 2017
src/usi_engine/msvc/aoba-zero2017.sln を開き、構成マネージャーで構成を
Release、プラットフォームを x64 に設定しビルドします。「Windows SDK バージョ
ン 10.0.17763.0 が見つかりません」のエラーメッセージが出る場合はプロジェクト
プロパティの「全般」カテゴリの WindowsSDK バージョンを適切なバージョンに変更
します。
もしCPUのみで計算を行うプログラムをビルドしたいならば、プロジェクトプロパティ
の「C/C++、プリプロセッサ」カテゴリのプリプロセッサの定義で
「;USE_OPENCL_AOBA」を削除して「;USE_CPU_ONLY」を最後に追加します。
2. 計算資源を AobaZero のプロジェクトに提供する方法
---------------------------------------------------
Linux で棋譜を生成し、これを AobaZero のプロジェクトに提供する方法をここに記し
ます。Windows での方法は、バイナリ版の方法を参照下さい。
- OpenCL が認識するデバイスの確認
> sudo apt install clinfo && clinfo
- 使用するデバイス番号を設定
テキストエディタで autousi.cfg の Device の行を編集します。
- autousi を実行
> bin/autousi
ニューラルネットワークの重みファイルのダウンンロードが始まります。保存先は
weight_save です。これが終りしだい、autousi.cfg で指定した番号のデバイスを使用
して棋譜の生成を開始します。
ご協力ありがとうございます。