CentOS7 GPUマイニング Monero編

ZCash, Ethereum, Monacoinと試してきたマイニング。徐々にリグのリソースも充実してきて、いろいろ回しているうちにZCashかEthereumでいいかなという気になってきたんだけど、ここまできたらMoneroも試してみる。MoneroはZCashと同じく、匿名通貨の1つ。何となく最近は匿名通貨に対する風当たりが強くなってきた気もするけど。マイニング観点で言えば、CPUでもマイニングできるのが特徴かな。とはいえ、GPUの方が時間効率は遥かに上だと思うけど。



GeForce GTX 1080 AMP Edition (ZTGTX1080-8GD5XAMP01/ZT-P10800C-10P)
価格 : 71,258円(税込、送料無料)
by Yahoo! ショッピング

ぐぐってみると、早速xmr-stak-nvidiaというツールに出会う。これでGeForceを使ったマイニングが出来そう。ソースだけでなくバイナリもあったのでダウンロードして実行してみると、libssl-1.0.0を要求されてしまって動作しない。CentOS7で今更libssl-1.0.0を入れる気もしないので、ソースからコンパイルする方向で考える。ちなみにGeforceのGPUはZotacやPalitの1070, 1070ti, 1080辺りを使っていて、CUDAは最新の9.1を利用中。以下のようにコンパイルを進めてみる。

yum install --enablerepo=epel,extras centos-release-scl cmake3 hwloc-devel libmicrohttpd-devel openssl-devel git screen nano
yum -y install devtoolset-4-gcc*
scl enable devtoolset-4 bash
git clone https://github.com/fireice-uk/xmr-stak-nvidia.git
cd xmr-stak-nvidia
cmake3 .
make install
    :
nvcc fatal   : Unsupported gpu architecture 'compute_20'

しかし、CUDA9.1だとcompute_20の設定がunsupportでこけてしまう。適当にソースを追っていると、CMakeLists.txtにCUDA_ARCHという配列があったので、ここから20を除いてみる。

vi CMakeLists.txt
    :
set(CUDA_ARCH "20;30;35;37;50;52;60;61;62" CACHE STRING "Set GPU architecture (semicolon separated list, e.g. '-DCUDA_ARCH=20;35;60')")
    ↓
set(CUDA_ARCH "30;35;37;50;52;60;61;62" CACHE STRING "Set GPU architecture (semicolon separated list, e.g. '-DCUDA_ARCH=20;35;60')")

これで無事make installが通るようになった。続いて実行時のパラメータをどうすればよいかもよくわからなかったが、とりあえずバイナリを一回叩いてみると設定サンプルを表示してくれる。以下のような感じ。2つの設定が表示されているのは、このときにGTX1080と1070のGPUを刺していたため。

cd bin
./xmr-stak-nvidia
    :
The configuration for `gpu_threads_conf` in your config file is `null`.
The miner evaluates your system and prints a suggestion for the section `gpu_threads_conf` to the terminal.
The values are not optimal, please try to tweak the values based on the suggestion.
Please copy past the block within the asterisks to your config.

**************** Copy&Paste ****************

"gpu_threads_conf" : [
  { "index" : 0,
    "threads" : 32, "blocks" : 60,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : false,
  },
  { "index" : 1,
    "threads" : 64, "blocks" : 45,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : false,
  },
],

**************** Copy&Paste ****************

必要なgpu_threads_confの設定をconfig.txtに加える。また、pool addressとwallet addressも忘れず変更しておく。今回もマイニングプールはいつも通りnanopoolを使う。グラフとか単位時間当たりの生産性とか、nanopoolが1番見易いんだよね。wallet addressは以前であればcoincheckでよかったんだけど、今だったらbinanceとかpoloniexかな。本格的に掘るんだったら、何らかのローカルウォレットを用意する方がよいかもしれない。

vi config.txt
    :
"gpu_threads_conf" :
[
  { "index" : 1,
    "threads" : 64, "blocks" : 45,
    "bfactor" : 0, "bsleep" :  0,
    "affine_to_cpu" : false,
  },
],
    :
  * wallet_address - Your wallet, or pool login.
  * pool_password  - Can be empty in most cases or "x".
  */
"pool_address" : "xmr-asia1.nanopool.org:14444",
"wallet_address" : YOUR_WALLET_ADDRESS.YOUR_WORKER_NAME/YOUR_EMAIL",
    :

./xmr-stak-nvidia

以上の設定でxmr-stak-nvidiaを実行すると無事マイニングが動き出した。1080も同時に動かしてみたんだけど、その性能は1070よりも低い状態。自分の設定が悪いのかもしれないけど。1070は何掘ってもそれなりの生産性だけど、1080はとりあえずZCashかMonacoin掘っておいた方がよさそうだね。何やかんやで買い集めたGPUは既に26台。もう自宅のみで運用するのは限界気味。しかも、想像以上に暑くなってきたし、今後は効率的な冷却と安定運用を目指していきます。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)