以前Debian9.3のNvidia-Docker上にMonacoinのマイニング環境を構築しました。 しかし、使用するccminerのハッシュレートがGeforce1070で想定される値を大幅に下回ったのでその原因を調査してみます。

CUDAバージョンの差異

どうも使用したCCminer-lyraでCUDA6.5が使用されていることが原因に思えます。 Geforce1070はCUDA8.0に対応していますが、古いバージョンで最適化されていないのが原因ではないでしょうか。

そこで、VIP Poolでも推奨されている改良版を用いてみます。こちらはCUDA8.0の対応版になっている模様です。

Monacoin用だとこちらが最新のようです。 ベースとなっているのはccminer-lyraではなく、以下のもののようです。

ビルド

先のNvidia-Dockerの上のコンテナを用いてUbuntu16.04 + Cuda8.0-devel環境でビルドを行います。

$ sudo docker attach [container id]
$ git clone  https://github.com/Nanashi-Meiyo-Meijin/ccminer /home/volume/ccminerv2.2-mod-r2
$ bash autogen.sh
$ ./configure LDFLAGS="-L/usr/local/cuda/lib64"
$ make

無事Makeできましたので、永続化したボリューム領域にバイナリをコピーします。

$ cp ccminer /home/volume/bin/ccminer-v2.2-mod-r2

設定ファイルの作成

ccminerの実行のたびに引数を毎回与えるのも面倒なので、次のような設定ファイルmonacoin.jsonをjsonで作成します。

{
    "algo": "lyra2v2",
    "intensity": 21,

    "url": "stratum+tcp://stratum1.vippool.net:8888",
    "user": "@USER@.@WORKER@",
    "pass": "@PASS@"
}

この設定ファイルを用いた実行は次のように行います。

$ ./ccminer-v2.2-mod-r2 --config monacoin.json

動作モニタ

実行時のCUDA Toolkit 8.0でのBuildと表示されており、無事にCUDAのバージョン更新ができていました。 ハッシュレートも39MH/sとなっており、旧版より圧倒的に速度が出ているので、問題なさそうです。

チューニング用にIntensityを少し調整してみました。

  • Intensity 21: GPUは70℃前後、160W/185W、使用GPUメモリは400MB、ハッシュレートは39MH/s程度
  • Intensity 20: GPUは70℃前後、150W/185W、使用GPUメモリは257MB、ハッシュレートは38MH/s程度

GPUメモリの使用量は旧版と比べて圧倒的に削減されています。 旧版と比べて使用量激減して性能上がっているのはいいことなのでしょうが、フルに使えたほうがさらに性能上がるのでしょうか。

この辺りも調整した方がいいのかもしれません。

まとめ

ccminer-lyraはCUDAのバージョンが古いせいか、ハッシュレートが低くなっていました。 別の方が提供する最新版に乗り換えたところ、ハッシュレートは大幅に改善しました。