GPUによるエンコードやコンテナ間共有など、調べてみたかったことが一通り片付いたので、そろそろ本題の1つであるマイニングを始めてみる。現時点でGPUマイニングするなら、ビットコインではなくアルトコインが対象となる。手持ちのZotac GTX 1080でどのコインを掘るかなんだけど、事前に読んだASCIIの記事だと、アルトコインの筆頭であるethereumは効率が芳しくない。それよりCUDA数が効率に影響するZCashの方がGTX 1080のスペックを生かすことが出来る。とりあえず最初はZCashを掘ってみよう。
by Yahoo! ショッピング |
前回までUbuntuを浮気していたんだけど、今回からは使い慣れたCentOS7に戻す。既にGTX 1080を刺したPCにCentOS7をインストール済み。このグラボを認識させるために、cudaとそれに同梱されているdriverをインストールする。やってることはコンテナ上のCentOSでやったときと同じ。nvidiaの公式からダウンロードしたcudaのrpmを入れるとローカルリポジトリができるので、そこからcudaとcuda-driverをyumでインストールする。終わったら、nvidia-smiで動作確認をする。今回からはcudaの9.1がリリースされてたので、それで。
yum install -y cuda-repo-rhel7-9-1-local-9.1.85-1.x86_64.rpm
yum clean all
yum install -y --enablerepo=epel cuda cuda-drivers
nvidia-smi
:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 387.26 Driver Version: 387.26 |
|-------------------------------+----------------------+----------------------+
:
driverのversionも微妙に上がっていますね。環境の準備はこれだけで、あとはマイニングソフトをダウンロードして動かすだけ。グループマイニングの場合、マイニングプールのお世話になる必要があって、どこにするか決める。今回はよく目にするnanopoolを使ってみることに。zec.nanopool.orgを訪れるとメニューにHelpという項目があったので目を通してみる。基本的にはここに書かれている通りに作業すればマイニングを開始できる。どのツールを使うか吟味していると、それ以前にWallet Addressが必要なことに気付く。
ZCashのウォレットは我らがcoincheckでも準備できる。取引アカウントでログインして、ヘッダメニューのウォレットをクリック。左ペインメニューのコインを受け取るをクリックすると、右側のスペースのコインの一覧が出てくるので、中からZCashを選択する。少し下の欄に『アドレスを作成』というリンクができるので、これをクリックすると自分用のウォレット・アドレスが作成出来る。とても覚えられるような文字列ではないので、いつでもコピペできるようにどこかへメモっておく。
再びnanopoolのHelpページに戻って、どのツールがよさそうか調べてみる。そもそもCentOSで動かすので、Linuxに対応しているものの中から選ぶ。更にGPUはGeforceに対応しているものを探す。ぐぐって比較したところ評判もよさそうなEWBF’s ZCash Minerに決定。HelpページのEWBF欄でLinuxのタブを選択。Downloadリンクが現れるので、そのLinkの先でZec.miner.0.3.4b.Linux.Bin.tar.gzをダウンロードする。あとはこの中のバイナリに適切なオプションを与えて実行するだけ。WALLET_ADDRESSは先ほどのもの、WORKER_ADDRESSは識別用のものなので自由に、EMAILも任意なんだけど、workerダウン時に通知してくれるので設定しておいた方がよい。
cd /usr/local/src
wget https://github.com/nanopool/ewbf-miner/releases/download/v0.3.4b/Zec.miner.0.3.4b.Linux.Bin.tar.gz
mkdir ewbf
cd ewbf
tar xf ../Zec.miner.0.3.4b.Linux.Bin.tar.gz
./miner --server zec-asia1.nanopool.org --user YOUR_WALLET_ADDRESS.YOUR_WORKER_NAME/YOUR_EMAIL --port 6666
minerコマンドはデフォルトでカレントディレクトリのminer.cfgを読み込みにいくので、設定をこのファイルに書き込んでおけば、毎回オプションを与える必要もないので楽。cuda_devicesとintensityは全GPUが対象の場合は省略可能。このとき追加したオプションは幾つかあって、まず開発者へのfeeをどうするか。0も設定出来るみたいなんだけど、効率が落ちるとの噂も。ワット効率表示用のpecは1にする。標準出力も含めてログイングする場合は、logに2を指定してlogfileにパスを書く。最終的には以下のような感じ。
ZT-P10800C-10P ZOTAC PCI-Express 3.0 x16対応 グラフィックスボードZOTAC GeForce GTX 1080 AMP Edition [ZTP10800C10P]【返品種別B】【送料無料】
|
vi miner.cfg
:
[common]
#cuda_devices 0 1 2 3 4 5
#intensity 64 64 64 64 64 64
templimit 80
pec 1
boff 0
eexit 0
tempunits c
log 2
logfile /usr/local/ewbf/miner.log
api 127.0.0.1:42000
[server]
server zec-asia1.nanopool.org
port 6666
user YOUR_WALLET_ADDRESS.YOUR_WORKER_NAME/YOUR_EMAIL
pass
これでオプションなしで、『./miner』と実行すればマイニングが開始される。折しもZCashが急騰した昨今、GTX 1080でZCashを掘るのは結構おいしいように思う。放っておくと電力の許す範囲で全力採掘を続けてしまうんだけど、電力量が増えれば増えるほど効率は落ちていくので、適度にパワーリミットしてあげて採掘効率を最適化してあげた方がよい。パワーリミットはnvidia-smiコマンドを使う。マイニングの場合、どうせGPUを使い続けるので、persistent modeをONにしてパワーリミット6〜7割くらいに絞る。絞り過ぎるとGPUが落ちてしまうこともあるので注意しよう。
nvidia-smi -pm 1 -i 0,1
nvidia-smi -pl 170 -i 0,1