SATAディスクからWebdatasetでデータをロードするときのスループットを確認する

  • 概要

  • 巷ではこれまでの画像生成DNNを超える品質と多様なタスクをこなすことができるStable Diffusion系DNNが話題だが、個人的にはそれに使われている超大規模データセットLAIONのほうにとりあえず興味がある.
  • LAION-400MをDNN学習に役立てられないかということで、先週からDLしているのだが、十数TBもの規模のデータは最大20MB/s程度の弊回線では荷が重く、1, 2ヶ月かかる勢いである.
  • 今回は、DLしたデータの一部を使い、学習時にデータをロードする際、HDDがボトルネックになりそうかどうかをチェックした.
  • その結果、今のところ想定する環境ではHDDからの読み込み速度はボトルネックにならない(SSDなみ)ことがわかった.
  • 詳細は以下の通り.

 

  • 測定結果一覧

 

ディスク種 SSD SATA 6Gbps x4
バッチサイズ [image] 64 128 64 128
ワーカー数 読み込み所要時間[s]
2 53.36 52.20 54.24 52.77
4 36.21 35.86 36.47 35.90
8 19.50 19.72 19.66 19.48

 

  • SSDおよびHDDともに、バッチサイズとワーカー数の変動に対して同じように読み込みが変化しており、デバイス間の実効スループットはほぼ同じと言える.
  • バッチサイズの増減は読み出し速度にほぼ影響しないが、ワーカー数は多くとった方がパフォーマンスは向上する.
  • 実験では、SSD(NVMe, PCIe4.0x4) 一台 と HDD(SATA 6Gbps)四台の2種のストレージにおいて、バッチサイズおよびワーカー数を変えた時の webdatasetの読み込みの所要時間を測定した.
  • ハードウェア 
    • SSD: Crucial CT1000P5PSSD8
    • HDD: Western Digital WD80EAZZ
    • SSDの方は普通にフォーマットしてマウントしただけだが、HDDの方はLVMのストライピングを4にして4デバイス同時に読み書きできるようにしてある.
    • CPU等その他は過去のRTX3090リグのページを参照.
  • 所要時間は、所定のバッチサイズで総数12000のデータをすべて読み出すのにかかる時間を表す.
  • ストレージからメモリに読み出す処理のみ行い、GPU等学習に用いるデバイスへの転送は行っていない.
  • Transformはリサイズと標準化、tensorへの変換のみ.

 

RTX3090リグをAMD EPYCプラットフォームに換装する(ベンチマーク編)

  • OSやライブラリ等のセットアップはネット上に公式含めいくらでもあるので省略することにしたが、いくつか気になった点についてはベンチマーク結果に行く前にここについでに記しておく.
  • ベースシステムはこちら. GPURTX3090 を4台. 

 

  • セットアップ時に気になった点についてのメモ
    • OSはUbuntu 20.04LTSを選択 
    • Server版において、起動時にデフォルトで入っているCloud-Initの立ち上がりが非常に遅い
      • デスクトップ版に入れ替えることで解決.
      • 下記にもあるように結局GUI環境が必要なので、Server版にするメリットがなかった.
    • 冷却ファンが常に100%で動作、または0%と100%を数秒おきに繰り返して不快な騒音が生じる
      • ipmitoolで50%に固定する設定を行うことで解決
    • GPUのPerformance Stateが常にP0になって100W前後の無駄な電力を食う
      • nvidia-settingにおけるPowerMizerによる適応的制御が有効化されていないのが原因の模様.
      • なので、デスクトップ環境の導入(Sever版の場合)と、NVIDIAドライバインストール時にGUI周りのソフトウェアのインストールを有効にすることで解決.
    • NVIDIAドライバインストール後にディスプレイ出力がGPUになってしまう
      • ドライバインストール時にxorg.confに自動で書き出されるパラメータが原因の模様.
      • DeviceセクションにオンボードVGAについてのものを追加し、ScreenセクションでGPUのDeviceから差し替えることで解決.

 

  • ベンチマーク結果
      • 以下、ベンチマーク結果をCPUおよびGPUの対象別に表で示す.
      • 単位の青いハイライトは低いほど高性能、緑のハイライトは高いほど高性能であることを表す.
    • CPUのみ
    • カテゴリ
      種別
      タスク
      スコア
      単位
      Blender Blender Blender 3.blend 118 sec
      Creator Blender BMW27 - Compute: CPU-Only 58.45 sec
      Creator Blender Classroom - Compute: CPU-Only 152.15 sec
      Creator Blender Fishy Cat - Compute: CPU-Only 76.44 sec
      Creator Blender Pabellon Barcelona - Compute: CPU-Only 602.63 sec
      Creator Blender Barbershop - Compute: CPU-Only 187.83 sec
      Creator FFmpeg H.264 HD To NTSC DV 7.39 sec
      HPC NAMD ATPase Simulation - 327506 Atoms 0.8275 days/ns
      HPC Graph500 Scale 26 - bfs median_TEPS 0.3495 GTEPS
      HPC Graph500 Scale 26 - bfs max_TEPS 0.3559 GTEPS
      HPC Graph500 Scale 26 - sssp median_TEPS 0.1238 GTEPS
      HPC Graph500 Scale 26 - sssp max_TEPS 0.1646 GTEPS
      HPC OpenFOAM Motorbike 30M 34.92 sec
      HPC OpenFOAM Motorbike 60M 436.51 sec
      HPC FFTW Stock - 1D FFT Size 1024 11.06 GFLOPS
      HPC FFTW Stock - 1D FFT Size 2048 10.37 GFLOPS
      HPC FFTW Stock - 1D FFT Size 4096 10.02 GFLOPS
      HPC FFTW Stock - 2D FFT Size 1024 9.62 GFLOPS
      HPC FFTW Stock - 2D FFT Size 2048 8.27 GFLOPS
      HPC FFTW Stock - 2D FFT Size 4096 7.23 GFLOPS
      HPC FFTW Float + SSE - 1D FFT Size 1024 59.80 GFLOPS
      HPC FFTW Float + SSE - 1D FFT Size 2048 63.26 GFLOPS
      HPC FFTW Float + SSE - 1D FFT Size 4096 59.02 GFLOPS
      HPC FFTW Float + SSE - 2D FFT Size 1024 41.59 GFLOPS
      HPC FFTW Float + SSE - 2D FFT Size 2048 36.75 GFLOPS
      HPC FFTW Float + SSE - 2D FFT Size 4096 27.12 GFLOPS
      HPC DGEMM Sustained Floating-Point Rate 8.92 GFLOPS
      HPC Himeno Poisson Pressure Solver 4.48 GFLOPS
      HPC HPL Linpack 2.3 214.66 GFLOPS
      GPUメイン
    • カテゴリ
      種別
      タスク
      GPU
      スコア 利用率 [%]
      単位 CPU GPU
      NVIDIA Classification ImageNet - ResNet50 v1.5: FP32 1 478 img/s 5.5 100
      NVIDIA Classification ImageNet - ResNet50 v1.5: FP32 2 927 img/s 10.2 100
      NVIDIA Classification ImageNet - ResNet50 v1.5: FP32 4 1848 img/s 20 99
      NVIDIA Detection COCO2017 - EfficientDet-D0: FP32 1 151 img/s 5.5 92
      NVIDIA Detection COCO2017 - EfficientDet-D0: FP32 2 287 img/s 11.5 94
      NVIDIA Detection COCO2017 - EfficientDet-D0: FP32 4 505 img/s 22.5 92
      Blender Blender Monster 1 2980 sample/m 6 100
      Blender Blender Junkshop 1 1683 sample/m 6 99
      Blender Blender Classroom 1 1410 sample/m 6 99
      Blender Blender Blender 3.blend 1 49.4 sec 4 100
      Blender Blender Blender 3.blend 2 33.1 sec 4 95
       Blender Blender Blender 3.blend 4 26.6 sec 8 90
      CPUのベンチマークは各項目のリンクにある通りOpenBenchmarking.orgにあるものを使わせてもらった.
    • CPUは概ね期待通りの性能になっており、全コア使用率100%でも温度は80度を超えることはほぼなく安定している.
    • GPUメインの処理でも、CPUはその使用率から考えればまずボトルネックにはなっていないと言える.
    • マルチGPU性能もほぼ期待通り.
    • Object Detectionタスクでの4GPU構成でパフォーマンスが落ちているのが若干気になるが、バグというか不具合ではなさそう.
    • メモリ使用量は記録を取るのを失念してしまったが、少なくともGPUメインのタスクでは最大でも60GB程度だったと思う.

 

  • とりあえずこれでひと通り作業は完了

RTX3090リグをAMD EPYCプラットフォームに換装する(組み立て編その2)

  • 前回は電子部品の構成を中心に述べた.
  • 今回はそれらをリグフレームに組み込み、全体を(物理的に)完成させるところまで述べたい.
  • 実は部品としてはマイニングに用いていたときとほぼ同じであり、去年の時点で揃っていた.
  • が、本来の用途を考えたときのリグフレームの構造、特に段組みやファン配置など中身がかなり異なるため、結局ほとんどバラして組み替えることになった.
  • GPUとしてブロワーファンのA5000やA6000が使えるならリグフレームの構造とか面倒なことを(比較的)考えなくても良いのだが、コストの関係上RTX3090にせざるを得ないため、やむなくリグフレームの方で対応することになった.

方針

  • 要求仕様
    • RTX3090(最大3スロット)を4台搭載可能であること.
    • すべてのGPUマザーボードをPCIe4.0 x16で同時に接続できること.
    • 空冷を前提とする.*1
    • 性能低下を起こさず、日単位の連続運転が可能であるような熱処理性をもつこと.
      • GPU間は最低でも2スロット、できれば3スロット以上の空きスペースが確保できること.
      • 送風ファンを効果的な位置に取り付けられること.
  • 上記のような仕様の一般的なPCケースが見当たらないため、スチールラック部品での自作とする.

設計

  • ざっくりだが、基本構造は下図のようになった.
  •  ラックの外形としては、幅600高さ450奥行き450[mm]とした.
    • GPU間隔を少なくとも4スロット分80x3=240、GPUの1台あたり厚み60x4=240として、600-(240+240)=120の余裕を残して配置できる.
  • GPU固定金具から、下方のマザーボード設置台までは最短(垂直)距離で200とし、ライザーケーブルもこの距離をカバーするものを用意した.
    • 200でないと横置きするPSUとの間隔が非常に狭くなるのでこれ以上下げたくなかった.
    • 今回はPCIeブラケットとスロットの2箇所のみに荷重が掛かることをかなり重視したので、この金具の構造が全体を決めたと言っても過言ではない.
  • 空冷ファン取り付けのため、フレームはバカ穴が一定間隔で開いているものにした.
  • パーツリストは次の通り*2

種別 メーカー 品名 個数 単価 小計 購入先
リグフレーム
キタジマ カラーアングル30型 2本セット(2x30x30x450) 2 1090 2180 キタジマ
キタジマ カラーアングル30型 2本セット(2x30x30x600) 2 1170 2340 キタジマ
キタジマ フラットバー30型 2本セット(2x28x450) 2 950 1900 キタジマ
キタジマ カラー棚板 30型 2枚入(600x450) 1 3320 3320 キタジマ
キタジマ ボルトナット 6x12 20組入 2 450 900 キタジマ
キタジマ アングルキャップ 30型 1 280 280 キタジマ
GPU固定金具
JAGETRADE PCIeブラケット 4 1798 7192 Amazon
MYST ニッケルメッキ取付金具/L字タイプ 4 379 1516 モノタロウ
大阪魂 フランジナット M4 1 299 299 モノタロウ
大阪魂 丸皿小ネジ M4 1 399 399 モノタロウ
大阪魂 丸ワッシャー 1 399 399 モノタロウ
ライザーケーブル
LINKUP PCIE4EXT11SR-020 2 6437 12874 Amazon
CoolerMaster MCA-U000C-KPCI40-300 2 7280 14560 Ark
冷却ファン Thermaltake TOUGHFAN 14 2 4810 9620 Amazon
        総計 57779

組み立て

  • 文字より写真の方が想像しやすいと思うので完成時の様子をまず示す.

          

  •  リグフレームの構築
    1. リグフレームを前述の仕様に沿って組む
      • ただしフラットバーはGPU固定金具と共締めする必要があるのでこの段階では締結せず、GPUの配置間隔(この仕様の通りなら80[mm])に基づき、ネジ穴の位置関係を把握しておく. 上の写真の通り、今回は長穴1つが完全にフリーになるような間隔にした.
    2. GPU固定金具を4セット(=GPU台数分)作る
    3.  ライザーケーブルをGPU固定金具に固定する
    4.  ライザーケーブルつきGPU固定金具をフレームの所定の位置にフラットバーと共じめする.
      • 下にこれらの部材を設置した時の写真を示す. 右下は同じものを真上から撮った写真である.
      •  

      • このPCIeブラケットは、市販のPCケースの水平PCIeブラケットに固定するためのネジ穴が側面に開いており、それを利用してLアングルと締結する.
      • そして、写真のようにPCIeブラケット+Lアングルをフラットバーの上にくるようにフレームに固定すると、なかなかいい感じの強度になる.
      • ただ、構造上、PCIeブラケットの底面とフラットバーの間に隙間が開いてしまうので、写真で炭のようなブロックがこの隙間に入っているのが見えると思うが、今回は家に転がっていた10mmのゴム板をスペーサーとすることでぐらつきを防止した.
    5. 空冷ファンを取り付ける

                  

      • 後から気づいたのだが、偶然にも、140mmファンがGPU間スペースと理想的にフィットするようにな配置で取り付けられた.

 

  •  サーバーの中身の設置
    1. マザーボードをすべてのライザーケーブルが届く位置に配置.
    2. 冷却ファンや電源スイッチ等の、ピンに差し込む系の配線を行う
    3. PSUを配置し電源ケーブルを差し込む.
    4. GPUを設置する.

 

  • 以上で完成

            

    • マザーボードと近くなる位置のGPUの接続は短めのライザーケーブルで対応しようと思い、規格上は200のものを買っていたので届かないかと思いきやむしろちょうど良い長さだった.*3

*1:メンテナンスの負荷を軽減するため

*2:価格は去年時

*3:LINKUPのやつ. 測っていないのでなんともいえないが、ケーブルが微妙に長かったのか、まな板のあげ底が寄与したのかというところだろう

RTX3090リグをAMD EPYCプラットフォームに換装する(組み立て編その1)

                        

  • RTX3090x4台をEPYCプラットフォームへ載せ替えたので記録していこうと思う.
  • パーツはほぼ予定通り先週末に揃ったのだが、リグフレームの組み替え、OSの調整、そもそも作業時間が取れないなどで全体を組み上げるのに時間がかかってしまった.
  • 本稿ではマザーボードへの組み付けと動作確認の一部についてのみ述べ、リグフレームと、性能確認のためのベンチマークについては次の回以降にまとめることにする.

 

パーツの調達について

  • 基本動作のためのパーツリストは前回に載せた通り. 気になったパーツについて少し述べたい.
  • CPU: AMD EPYC 7443P
    • 今回はじめてneweggを利用し、アメリカからの取り寄せとなった.
    • 初期不良だったときのめんどくささが頭をよぎってヒヤヒヤしたが、10日くらいで何の問題もなく届き、普通に動作した. 輸送はDHL.
    • パッケージ形態はバルク(Tray)しかないので仕方ないのだが、緩衝材で厳重に包んであるとはいえ、静電除去パック(よくあるグレーのやつ)に剥き出して放り込まれただけの状態で送られてきたので少々面食らった*1.
  • M/B: Supermicro H12SSL-i
    • myspecから購入. 過去にTyanなどのマザーボードを購入し、修理に出したこともあったが対応はスムーズだった. 悪くない印象.
    • 在庫がなかったようで取り寄せ*2となり、約2週間で届いた.
    • パーツリストを見るとリテールパッケージのようだが、白箱バルク*3と見紛うようなデザイン、パッケージ内容で、説明書やシール類は一切なく、緩衝材もまばらで、徹底的なコストダウンが図られていると感じた.
  • これ以外のパーツについては特に変わったところは無かったので省略する.

組み立て

  • 作業自体はThreadripperと全く同じであり、公式オンラインマニュアルを参考にすれば特に引っかかったりすることはないと思う.
  • ただ、Threadripperと違ってEPYCにはCPUをソケットに固定するためのトルクドライバが付属しないので、もっていない場合は買う必要がある.
    • 私もamazonからドライバ本体ビットを買ったが、PSU一台分くらいとなかなかに値が張る.
    • Supermicroの公式マニュアルおよびAMDによると目標トルクは14lbf・in(=158.2cN・m)とのこと.

             

  • 流れ
    1. マザーボードへCPUを取り付け
      • 公式マニュアルの通り.
      • 一つ付け加えるとすると、ネジごとに一度に目標トルクで締めるのではなく、たとえば40、100、158.2[cN・m]のようにネジをローテーションしながら段階的に均等に締め付けていく方が良いと思う*4.
    2. マザーボードへメモリを取り付け
      • 4本なのでD1、C1、G1、H2のスロットに挿した*5.
    3. CPUクーラーの取り付け
      • グリスはクーラーに付属のNT-H1を使い、塗り方はこれを参考にした.
      • ネジのスプリングが過剰に強力(硬い)ということはなく、それほど力強くクーラーを押さえつけなくても固定できた.
      • ファンの吐出方向が出荷状態だとなぜか下向き(PCIeスロット側)となっていたので、逆側に付け替えた.*6
      • メモリを追加する場合は、ファンを外す必要はあるがヒートシンクの取り外しは不要.
    4. NVMe SSDの取り付け
      • ネジ留めではなく、プラスチックのキャップによる固定.
        • 耐久性は未知数だが、取り付け/取り外ししやすい.
      • PCIe 4.0だったのでヒートシンクを追加
        • amazonこれを買ったのだが、SSDとの固定用の既設両面テープ(材質的に多分熱伝導シートではないと思う)が危なそうだったので、剥がしてこれに付け替えた.
        • この両面テープ、素材がヒートシンクに残るほど非常に粘着力が強く、無水エタノールで何度もこするようにふきとる必要があった.
    5. マザーボード固定台(まな板)への取り付け
      • リグフレームに直にマザーボードを置くのはまずいのでこれに固定.
      • ただ、H12SSL-iは大きさはATXなのだが、8pin電源コネクタ横のネジ穴の1つが普通のATXと異なっていたため、この場所の固定は諦めた.
  • 完成

               

  • 動作確認
    • とりあえずUbuntu 20.04 LTSを入れてみた

        

    • 動作は正常のよう.

        

    • 温度も概ね良好だが、SSDは温度センサーがないのか温度が読み取れず.

次の作業

  •  下記のように、リグフレームに組み込んで電源の配線やらを行うわけだが、これはリグフレームの構造とともに次回に述べる.

 

*1:まぁLGAなので折れ曲がる可能性があるピンがついているわけでもないので、特に気にすることではないのかもしれないが

*2:たぶん台湾から

*3:実際全面白地にSupermicroのロゴだけ

*4:数値は見ていないが私はもっと細かくきざんで締めた

*5:記号はマニュアルでの表記に基づく

*6:ちなみに冒頭のEPYCの画像はカメラを逆さまに構えて撮ったわけではなく、PCIeスロットが下側になるようにマザーボードを置いて(多くのPCケースはこのような上下関係になると思うが)撮ったときの正常な姿勢である.

RTX3090リグをAMD EPYCプラットフォームに換装する(計画編)

  • 背景
    • RTX3090は元々暗号通貨採掘に使うつもりはなく、他の趣味のために購入したのだが、GPU以外のパーツの入手性が極めて悪く、本来の用途で使えずにいた.
    • が、ここにきて必要なパーツが週末にはそろう目処がついたので、とりあえず構成だけ記しておくことにする.
    • 想定する用途は3Dレンダリングディープラーニング、その他科学技術計算である*1.

 

  • パーツリスト
    • 種別 メーカー 品名 個数 単価[千円] 小計[千円] 購入先
      CPU AMD EPYC 7443P 1 225 225 newegg
      メモリ Micron MTA36ASF8G72PZ-3G2E1 2 53 106 Ark
      メモリ Micron MTA36ASF8G72PZ-3G2B2 2 49 98 Joshin
      マザーボード Supermicro H12SSL-i 1 66 66 myspec
      電源 Thermaltake TOUGHPOWER 1200W 1 20 20 Amazon
      電源 Thermaltake TOUGHPOWER 1050W 1 15 15 ドスパラ
      PSU連動ケーブル SilverStone SST-PP10 1 1 1 Amazon
      CPUクーラー Noctua NH-U9 TR4-SP3 1 10 10 myspec
      Storage ADATA XPG SX8100 ASX8100NP-256GT-C 1 4 4 NTT-X
      Storage SanDisk SSD PLUS SDSSDA-2T00-J26 1 21 21 パソコン工房
              総計 566
    • シングルソケット24C, 48T, 256GBメモリ.
      • 1GPUあたり10スレッドもあればCPU処理がボトルネックになることはほぼないのではないかという期待.
      • デュアルCPUあるいはより多いコア数を必要とするような純粋にCPUだけを使う重い処理はたぶん少なくとも5, 6年は無いと思うし、必要になったときにまた考えればよい.
      • ということでCPUクーラーも小さめの空冷にした. Noctua によると冷却は問題ないらしい. あとはこれも参考にした.
      • メモリも多分使い切ることはないだろうが、念の為モジュールを64GBにして4スロットを開けることにした. Supermicroによると、8スロットを全て埋めた方がパフォーマンスは良いとのことだが、4と8ではそれほど変わらないのではないかと思っている.
    • 一つだけ桁が違う価格のパーツがあるが、まさにこれが昨年からOut of Stock および価格高騰によって私を悩ませた元凶である.
      • 7443Pは昨年は$1398(〜17万円)くらいで海外のショップに出ていたと思うが、見た限りではOut of stock. そして国内のショップでは取り寄せが可能であってもその2倍程度(~33万円)というありさまであった. 趣味なので緊急性は皆無でありとりあえず手をつけないでいた.
      • ちなみにこの価格は送料・各種税金および、CPS*2という故障に対する延長保証を含んだ額である.
    • 別にAMDにこだわりは無いが、Xeonも同水準であればそれほど価格に違いはないし*3、なによりPCIeレーンの充実と電力効率が圧倒的に優れているので今回はEPYCにした.
      • Threadripperという選択肢もあったが、電力効率と価格*4の観点から、EPYCの方を選んだ. 
      • 10年くらい前に今回と同じ用途でデュアルOpteronで1台組んだが、そのときはintelの方がパフォーマンスが良かった気がする.
    • 電源は使い回し*5、それ以外は4月末の価格であることに注意.
    • CPU以外は比較的入手性がよく、国内のショップから入手できる.

 

  • その他
    • 組み付けるためのフレームは改装完了後にまとめる.
    • 来週には完成すると思うので性能等はそのときにレポートしたい.

*1:つまりGPGPUとして使う

*2:1.3万円で2年間

*3:なんなら割高まである

*4:特にマザーボード

*5:2021年購入

RTX3090のマイニング設定のチューニング

  • リグの電源の配線を調整*1したのだが、そのときついでにminerのオプションをいじってみたところ通常より若干高いハッシュレートおよび高効率になったのでここに記録しておく.

 

 
Hash rate
(ETH)
効率[MH/W]
GMiner(Windows版)の設定
  コアクロック
(lock_cclock)
メモリクロック
(mclock)
電力制限
(pl)
これまで 121 0.433 1095 1300 76
今回 127 0.436 1145 1550 80

f:id:vlUd3droFz_u67sgXZ21wy5fgP:20220402122341p:plain

      • 画像左はこれまで、右は今回における各ステータスを示す.

 

  • 以前ネットで探索したときには、最適な設定として、コアクロック-300〜-200、メモリクロック+900〜+1200といったパラメータを多くみかけたので、この範囲または少し前後するくらいのパラメータしか試してなかった.
  • 実際、これまでの記事にあるとおり十分なハッシュレートが出ていたので満足していたが、メモリクロックはまだ上げる余地があることがわかった*2.
  • 以前、1300を超えるメモリクロックを試したときは逆にレートが下がった気がするので(はっきり覚えていないのだが)、もしかするとサーマルパッド交換によって特性が良くなったのかもしれない.
  • さらに上げてもいいのだが、リグの内側にあるGPUの温度は上がる傾向になっており、これ以上の温度上昇で不安定化するのは避けたい*3のでここまでにする.
  • 室温22℃湿度20%未満の環境でこれなので、5月以降はより抑えた設定にする必要がありそう.

*1:分岐ブレーカーごとに実測消費電力が1000w以下になるようにした. 電源周りの話は改めて別の回にまとめたい.

*2:ただしハッシュレートの限界値や最適設定値はメーカーによって異なるので MSI GeForce RTX 3090 GAMING X TRIO 24G 独自の特性かもしれない

*3:その都度細かいパラメータ調整に時間を取られたくない

GPU周辺環境の違いとハッシュレートの関係

  • 先日RTX3090のサーマルパッド交換を行なったが、メモリ温度はサーマルスロットリングが生じていない通常の水準以下になっているにもかかわらず、ハッシュレートが明らかに通常レベルを下回っていたことが気になり、少し調べてみた.

 

  • 主にGPU設置場所と周辺温度の変化に対してハッシュレートがどのように変わるかを記録し、次のようにハッシュレートについて昇順にした表にまとめた.
GPU
位置
GPUコア
温度
GPUメモリ
温度
室温 湿度 Hash rate
(ETH)
テストベンチ 51 94 27 26 117.03
リグ 47 96 26 40 120.08
リグ 39 88 22 <20 121.28
リグ 44 94 26 <20 121.28
    • 記録日時はこの4例で全て別々.
    • Miner およびオプションは全て共通.(前回のものと同じ)
    • テストベンチとリグともにそれぞれほぼ隣り合った固定の場所に設置してあり、記録時には動かしていない.
    • テストベンチはファン無し、リグは常時稼働の140mmファンあり.

 

  • サンプルのバリエーションが少ないので微妙だが、結論としては次の2点になると思う. 
    1. ハッシュレートを維持するためには、風通しの良さが決定的に効いている
      • テストベンチでの結果は、熱だまりによる、センサー敷設部以外の場所の素子におけるサーマルスロットリングによるものかもしれない.
    2. GPUコアおよびメモリ温度が47℃および96℃付近にハッシュレート悪化の閾値がある