漢なら 16 コア CPU でマイニングし, 冬の暖房がわりにしたいですね!
最近流行りの BitZeny のマイニングを Ryzen Threadripper 16 コア(1950X)でしてみましょう!
http://bitzeny.org/
http://bitzeny.cswiki.jp/
ぜにぃ姫の人気に嫉妬です!
Wallet を用意する.
とりあえずは Web ウォレットを使いました.
miner をコンパイルする
Ubuntu 16.04.3 で cpuminer https://github.com/bitzeny/cpuminer をコンパイルしました.
autoconf, libcurl4-XXX-dev あたりを入れてから autogen.sh
しないと, ./configure
で CURL が見つからないとかエラーが出ますのでご注意ください.
ご参考
BitZenyのMinerをUbuntuでビルドして採掘する
https://qiita.com/s_ktmr/items/f46c0d814a340407cf06
Ubuntu 標準 gcc(gcc 5.4)では, Ryzen でも -march=native
で問題なくコンパイルできました.
(古いコンパイラや Ryzen 未対応 clang だと Ryzen 向けにコンパイルできないときがあるのでご注意ください)
マイニングプール
とりあえず手っ取り早く試したかったので, 登録がいらない lycheebit を使いました.
BitZeny はマイナーが 10 クライアントしかないくて悲しい...
(2017/12/06 時点)
lycheebit で, 半日くらい回して 19.6 ZNY 入手できました(2017/12/06 時点でおよそ 500 円相当). ただ, このときはこれはたまたまうまく見つかっただけでした(lycheebit だと, 日によってはまったく獲得できないときもある).
最近はプールも増えてきたので, 登録制プールのほうが採掘しやすそうです.
性能
デフォルト設定で 32 threads, 10.7 khash/s でした.
16 threads で 11.0 khash/s あたりで, 19~24 threads で 13.5 ~ 14.0 khash/s でした. 物理コア数 x 1.2 ~ 1.5 くらいが最適のようです.
AVX を切る
さらに, Ryzen threadripper の場合は, AVX を使わないほうが性能が出ました(14.7 ~ 15.0 khash/s).
AVX を無効にするには, ./configure
で --disable-assembly
とします(CFLAGS
最適化オプションも -O2
と普通の最適化レベルにしました)
システムトータル(電源ケーブルにワットチェッカーを差して計測. 1950X + DDR4-2666 64 GB mem + X399 マザー + 1070 Ti(画面表示用のみ. nvidia-smi で見ると 6W ほど消費) + SSD 1 枚)で 283 W でした. CryptoNight ではシステムトータル 180 W だったので 100 W ほど消費電力が高いですね.
アイドル時は 70 W ほどでした.
Powertune する
GPU でマイニングする場合, powertune 必須なので, CPU でも powertune し電力効率を上げてみたいと思います.
Linux で CPU の電力制御はいくつかやり方はあるようですが,
今回は Ubuntu 16.04 で cpufreq-info
と cpufreq-set
を使って CPU 周波数を設定しました.
bash シェルスクリプトで以下のようにして各コアの CPU 周波数を設定します.
#!/bin/bash
for i in $(seq 0 31); do
sudo cpufreq-set -u 2.8GHz -c $i
done
1950X では, 標準構成の BIOS 設定では 3.4GHz, 2.8GHz, 2.2GHz が選択できました(詳細は cpufreq-info
参照).
23 threads, no AVX の構成で以下となりました.
CPU freq | khash/s | watt | khash/s per watt |
---|---|---|---|
3.4 GHz(default) | 14.7 | 283 | 0.0517 |
2.8 GHz | 11.99 | 153 | 0.0783 |
2.2 GHz(lowest) | 9.59 | 142 | 0.0675 |
2.8 GHz の時が一番電力効率がよいですね! 3.4 GHz 283 W と比べて 130 W 低いです. 130W の削減は, 30 円/khw として月 2808 円, 1日 93.6 円の節電となります!
TODO
- コア(thread)の数や, スケジューリング(governor)を調整してみる.
- メモリ速度をチューニングしてみる
- 優秀な若人が, BitZeny マイニングを極めることで, Ryzen 用に yescrypt アルゴリズムの最適化がおこなわれるスキームを確立したい.