2022年10月10日月曜日

INA260でPCIeスロットからGPUへ供給される電力を測定する

 GPUの消費電力を測定するために,PCIex16ライザーケーブルとINA260センサ,Arduinoを使用してNvidiaのPCATもどきを製作した.


 GPUの消費電力はGPU-ZやHWiNFOでも取得できるが,NvidiaによるとすべてのGPUで正しい値が得られるとは限らないらしい(参考

 このため,NVidiaはPCATというGPU用の電力測定器をレビュアーに提供しており,これによりPCIeスロットと補助電源ケーブルからGPUに供給される電力を測定することができる.しかし,PCATは一般販売されておらず入手方法が難しい.

 そこで,PCIex16ライザーケーブルとINA260センサ,Arduinoを使用してPCIeスロットからGPUに供給される電力を測定できる装置を製作することにした.



使用機器

ライザーケーブル

 ライザーケーブルにはSilverStoneのSST-RC05-220を使用した.

INA260センサ

 直流電圧,電流をそれぞれ36V,15Aまで測定できるセンサで,スイッチサイエンスからモジュール化された製品が販売されている.今回はこれをArduino Uno R3と接続して使用した.

電流測定

 PCIeのピンのうち,電力を供給している+12VピンはAサイドのNo2-3ピンとBサイドのNo1-3ピンとなっている.これらをリード線で引き出しINA260センサを経由させた.さらに基板上の回路を切断し,電流がライザーケーブル側を流れないようにした.なお,精確を期すのであれば3.3V系も測定する必要があるが,今回は省いている.


電圧測定

 電圧はINA260のプラス側に電流測定のために引き出したケーブルを,マイナス側にライザーケーブル基板の外周部分(ベタGroundになっている)をそれぞれ接続した.


以下が完成した測定器.


Arduinoのプログラム

この過去記事のものを少し変更して使用.


GPUの消費電力を測定する

 今回製作した測定器ではPCIeスロットからの電力しか測定できないため,補助電源なしのAMD RX560を使用して供給電圧・電流を測定,そこから消費電力を計算した.なお,測定間隔はPCATと同じ0.1秒間隔とした.

 以下はFF15ベンチマークを実行中の供給電圧と電流のグラフで,ベンチマーク中の電圧が若干下がっているのが確認できる.


また,これらの電圧・電流から消費電力を計算し,HWiNFOの値と比較すると以下となった.ベンチマーク中の消費電力平均値は今回の測定器が61.2W,HWiNFOが47.6Wで28パーセントのHWiNFOの方が低い.これに対して,アイドル時の消費電力は2倍近くHWiNFOの方が大きかった.

 この差はなんだろうか.今回は3.3V系の電力が含まれていないのでアイドルが低いのは説明がつくのだが,負荷時の電力が3割近くHWiNFOより高くなる理由がわからない.INA260の方は電流電圧共にHIOKIのテスターとおおむね一致していたので精度は問題ないはず.AMDのGPUはHWiNFOの値が低めに出るのだろうか.次は別のGPUでも試してみようと思う.



0 件のコメント:

コメントを投稿