nipplelfsblog

nipplelf’s blog

1週間に1記事を目標にして、考えたことや描いた絵について書いてます。

初心者の仮想通貨マイニング その5

マイニングしていると熱が気になる。夏が近づいてきて不安なので、有効な冷却方法を調べて実践・考察してみた。

f:id:nipplelf:20210510114030j:plain

(今週の一枚)ビックウェーブに乗り遅れるな(pixiv

 

 

 夏が近づいてくると発熱が大きい機械で恐ろしいのが熱暴走である。特に精密機器の場合は一つの部品がポンっと逝ってしまうとシステム全体が機能停止に追い込まれるし、最悪壊れたらおじゃんである。

 儲けがなくなるのは嫌なので、冷やす方法を探って実践した。

nipplelf.hatenablog.jp 

 

前回からの構成変更と概要

 もうちょっと儲けたいなぁとスケベ心が出たので、4月に入って新たにRTX2080を購入した。まぁ転売ヤーからではなく、知り合いのダブラーから買ったので、かなり安く手に入った(感謝)。最初から動かしていたRTX2070とあんまり使っていなかったGTX1660Superを合わせて3枚体制でホリホリしている。

グラフィックボードの詳細は下記の通り

1660s Palit GTX 1660 SUPER GamingPro

2070 ASUS ROG STRIX RTX 2070 GAMING OC

2080 ZOTAC RTX 2080 AMP Extreme

f:id:nipplelf:20210510115348j:plain

 今回、メモリーの冷却が安定したので、電圧制限を外して稼働させても安定的にマイニングができるようになった。改善前は温度変化が平均10℃、reject率が最大で20%(メモリークロックアップで変化)あったが、冷却改善後は±3℃程度で、reject率は最大12%で平均2%以下(メモリクロックアップしても変わらず)となった。改善前はかなり外気温に左右されていたが、それが減ったと言える。

 実行ハッシュレート(accepted speed)が100~150MH/s(予想値が110~120MH/s)となり、想定よりも多く掘れているみたいである。

 

追加冷却

 さて、どうやって冷やすかと考えると、熱をどう逃がすかに関してはやることがだいたい決まっている。一つは今あるシステムで出来るだけ冷やす設定にしたり、掃除をして機能性を上げること。もう一つはボードに何らかの機能を付け足すことである。

 既存のシステムの冷却設定は一通り試したので、今回はお手軽に機能を追加・改造して冷やしてみる。

 

サーマルパッド交換(自己責任)

 グラフィックボードの中に熱がこもってしまうと、外側からどう弄ってもなかなか熱が逃げない。特に今回のようにひたすら熱を作り続ける場合は出来るだけ速やかに排熱する必要がある。しかし、PC部品の中は電子が行ったり来たりしているので、電子を通す金属(アルミや銅)を直接つけることはできない。そのため、熱は通すが電気は通さないものを使ってボードと金属の橋渡しをする。CPUグリスとかサーマルパッドと呼ばれるものがそれである。こういった熱の仲介をするゲルやシートは熱伝導性がピンキリで、安いものを使うとなかなか熱を通してくれないし、高価なものを買っても肝心の冷却能力が劣っていると意味をなさない。つまり、ボード側の熱と冷却機構側の放熱がバランスするようなものがベストとなる。

 マイニングの場合、本来の目的とは異なる使い方をしているため、CPUよりもVRAMの熱が問題になる。そこで、VRAM側により高性能なサーマルパッドを付けることにした。

 方法としてはプレートを開いて、既存サーマルバッドの位置と大きさ(縦横高)をチェックする。それを元に同じ高さのサーマルパッドを購入する。その後、すでについているサーマルパッドを除き、新しいものに交換するといった具合である(動画がYoutubeにたくさんあるので、実技はそちらで)。自分のボードはすべてバックプレート付きだったので、併せて、バックプレートと基盤の間にもパッドを仕込んだ。

www.youtube.com

 効果としてはRTX3080/RTX3090ほどではないが、2080と2070で3~5℃程度の低下がみられた。1660sに関してはバックプレートが樹脂だったので、上手く熱が伝わらなかったようで、むしろ温度が上昇した。そこで、アルミ板を加工してバックプレートの代わりに取り付けたら放熱がうまくいった。バックプレートが樹脂の場合、加工が面倒なら外してしまうだけでも放熱はうまくいくようである。

 1点、気になったことがあって、RTX2070のVRAM上部に半分しかサーマルパッドがついていなかった点である。急に熱が上昇した場合ハングアップする可能性がある。

youtu.be

 同型をばらしている動画↑を拝見も、同様にVRAMの半分しか金属+パッドがかかっておらず、設計的に問題があるのではないかと思った。

 そのため、ばらすにしろばらさないにしろ、こういった問題を秘めたボードがあるので、一旦自分のボードの構造をTechPowerUpなんかでチェックしたほうがいいんじゃないかと思う。

 

ヒートシンクとファンの取り付け

 内部の熱交換はうまくいっていると仮定すると、その熱を外部に素早く送る必要がある。触ってみると分かるが、高負荷時はボード全体が発熱している。ボード正面は大型のファンとヒートシンクで排熱できるが、背面は熱がこもったままでなかなか冷えないし、サーマルパッドを付けて熱を背部に伝えたので、背部は熱をためている状態になっている。

 …ということで、熱伝導性の高い金属をバックプレートに貼り付けてそこに風をぶつけて排熱することにした。一番いいのは前面にある様な大型のヒートシンクであるが、そんなことしていたらきりがないので、お手軽に出来る方法を考えて、その2種類を試してみた。

 1つはM.2SSDなどの発熱が高い部品に貼る様な表面積多めのヒートシンクに小型のケースファンを付ける方法で、もう一つは安いCPUクーラーをはっ付ける方法である。

 (ボードの設置はライザーケーブルで延長し、ファンのある前面を下向きに、バックプレートを上向きにして配置した。)

 

 ヒートシンクアマゾンを見るとバルクでいっぱい売ってるし、PCジャンクから金属の塊を買ったりするのもいい、汎用のヒートシンクはとてもお手頃で買うことができる。また、ケースファンも40mm~140mmの大きさはあるし、安く済ませるなら合計1000円くらいで作れる。ファンをたくさんつけるなら、ペリフェラル→3ピン変換4分岐ケーブルを使えばファンはいっぱいつけられる。また、CPUクーラーもオークションなら数百円で出ている。ネット新品で買っても、1000円しない物も結構ある。

 今回は家に転がっていた100×60×10mmのヒートシンク+80mmファンとCPUクーラーを使って冷やしてみた。

 

 ヒートシンク+ファンの方法をまず書く。ヒートシンクのある1面に0.2mmの両面テープを4隅にしっかりはり、内側にはCPUグリスを塗る(両面テープにはグリスが付かないように)。それをバックプレートに圧着する。横から隙間がないことをライトを充て確認する。ヒートシンクの上に粘着性の高い両面テープで8mmファンをくっつけて運転する。

 バックプレート→CPUグリス→ヒートシンク→(風)→外部と言った熱の方向を意図したが、一応、グリスがなくても熱は伝わるか試してみた。結果は効率としては半分くらいまで落ち、十分に排熱は出来なかった。プレートーシンク間をできるだけ密着させて空気層を減らすかグリスを塗って熱の移動を助ける必要があると思う。

 

 CPUクーラーはCPU接着部分にのみグリスが乗っていて、後はねじやばねで止めるようになっている。今回はその留め金がないので、ねじを外して、シンクーファン間、シンクーバックプレート間をそれぞれ両面テープでくっつけた。

 結果はそこそこ冷えたが、密に接着しても上のヒートシンク+ファンほどうまくいかなかった。

 おそらく、接地面積がヒートシンクの1割程度しかないので、バックプレート全体に広がっている熱をとり切れず接地部だけ急速に冷やすことになったため、全体としては非効率になったのだろう。

 

 また、ヒートシンクのみだと、ほとんど冷却効果が見られなかった。ヒートシンクの大きさや設置状態にかかわらず、風冷は絶対必要と思っていい。

 

 …ということで、一番いい結果はヒートシンク+ファンで5℃さらに程度冷えた。注意点は金属間の隙間をできるだけ埋めることと、ヒートシンクとバックプレートの接触面積は出来るだけ大きくすることが必要とわかった(当たり前か)。面全体に広がった熱は面全体で冷やさないといけない。

 

冷却効果、実効値と予想値の比較

 3枚のグラフィックボードのメモリーVRAMが同型のGDDR6で、ボード単体の冷却能力がほぼ倍々(1660superを1倍とすると、2070は2倍、2080は4倍)となるので、メモリーの熱とマイニングのエラー率、実際のマイニング量の相関がある程度分かった。

 結果から言うと、冷やした方がエラーが減り、実行ハッシュレートが上がる。

 メモリーオーバークロックでは、+1200を超えると冷却(~63℃)をしていても不安定になり、その状態になると平均20%近いロスになっていた。そのため、+1150程度をめどにクロックアップすると追加冷却によって安定的にマイニングができた。これはメモリー個体(チップセット?)の個体差がかなり関係するみたいなので、限界値を探すのではなく安定を取るなら+1000くらいで納めたほうが長い目で見ると管理が楽で利益につながると思う。

 このハッシュレートダウンの症状を観察すると2つのパターンがあった。一つは、スコアのいいハッシュレートを実機が表示しても無理をするとregect率が上昇し、結局、実行ハッシュ値が低下する場合と、もう一つは、そもそものハッシュレートが減少したり、ハッシュ値が安定せず、想定の1割~5割程度を行ったり来たりふらついて、たまに計算自体を停止してしまう場合が観察された。

 つまり、メモリーが熱を持つと 1.計算ミスが増える、2.システムが不安定になる という2つの要素が相まってマインイング量が変化することが分かった。

 チェックの仕方は簡単で、実機から流れてくるハッシュ値を5分ぐらい見て、その値がほとんど変化しなかったら安定、上がったり下がったりしたら不安定である。安定している場合は一定の値をずっと表示し続ける。

 自分の環境ではhotspotで約70℃(サーマルパッドで繋いでいるのでメモリー温度とする)に大きな山があり、これを超えると全体的なスコアが非常に悪くなった(~10%低下)。一方で、65℃を下回ると予想値程度の性能を発揮し、60℃以下ならクロックアップの状態に寄らず予想値よりも高い値でマイニングができていた。そのため、夏に向けて65℃以下にどう収めるかと言う具体的な指標ができた。

 最新のGDDR6Xになると、対応温度は変わるのだろうが、温度と不安定さ(ハッシュレート)の相関は変わらないと思うので、やっぱりできる限り冷やしたほうがいいと思う。

 

終わりに

 安全運転を目指していたが、冷やすとハッシュレートが上がって儲かったのは意外だった。ボード1枚につき2000円くらいの出費なので費用対効果は結構いいんじゃないかなぁと思う。

 まぁいつまで今の仮想通貨レートが続くかわからないけど、秋までに投資分は回収したいな(^ω^)

 

 

 

☆エロ同人CG販売中

 

COPYRIGHT Nipplelf ALL RIGHTS RESERVED.