論理コア制限でbitzenyマイニングの効率をあげる

cpuminer2.60で追加された --cpu-affinity

一つ前の記事で書いたbitzeny用cpuminer2.6.0
これには --cpu-affinity というオプションが追加されています。
これは何かといいますと、CPUの利用しない・利用するコアを指定する事ができるオプションです。

ちゃんと指定すれば採掘効率があがる!?

自分もだからなんだ、ぐらいに最初は思っていたのですが、なんとなく調べていると気になる記事が同じCPUマイニングのmoneroでありました。

https://steemit.com/cryptocurrency/@tobiasrieper/improve-cpu-monero-xmr-mining-by-disabling-hyperthreading-ht

簡単に言うと、HyperThreadingのコアを避けるとマイニング効率あがったよ!という内容でした。

HTを避ける指定とは

上の記事ではIntelの場合で、ということでしたが、「スレッド数を物理コア数と同じ」にして、--cpu-affinity オプションで「一つ飛ばしでCPUコアを利用する」設定で良さそうです。

--cpu-affinity の指定方法

まずは、2進数で利用する論理コアは1,利用しないコアは0で指定します。
4コア8スレッドなら10101010 といった指定です。これを10進数に変えて指定します。
2進数から10進数への変換は下記ツールがわかりやすいです。(入力して変換ボタンを押す)
https://hogehoge.tk/tool/number.html

例えば、4コア8スレッドのi7ですと、10101010 = 85 になるので、 minerd -a yescrpt -t4 --cpu-affinity 85 -o ... といった指定になります。

実際に早くなるの??

ここまで書いていたのですが、正直私のCPU(i7 870)では早くなりませんでした!
つけない時と比べて0.1Kh程度減少…

一方、いのびあ(twitter @hk1v)さんが他のCPUで検証して、無事早くなったというツイートがありました!
引用OK貰ったので下記貼り付けます。

初代i7は厳しいですが、それ以降なら一定の効果がありそうです!
i7やi9を使ってる皆さんは是非とも試してみてくださいね。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

この記事が役に立つと思ったらシェアお願いします!

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル(大)広告

コメント

  1. TD より:

    使用コアをわざと減らした方がいいのはL3キャッシュの量に関連しているようですよ。
    L3キャッシュ量÷スレッド数で1スレッド辺りに割り当てる事の出来るキャッシュ量が簡易的に計算できます。

    当方の環境では6コア12スレッドのCPUのスレッドをフルに使い、
    1スレッド辺り、最大で1.25MBのL3キャッシュを割り当ての状態で
    半分のスレッドを使った場合より速度が向上します。

    • 間宮さん 間宮さん より:

      コメントありがとうございます!私の初代i7で効率があがらなかったのはそもそもL3キャッシュが少なすぎたことが原因ってことになりそうですね。これだとi7以外のCPUでも効果が出る可能性がありますね。後ほど記事修正させていただきます!