4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windowsタスクスケジューラを用いたGPUの電力制限

Last updated at Posted at 2023-09-12

概要

機械学習やゲームなど、グラボ(RTX 2080Ti)に高負荷をかけたときの電力消費をおさえるために、GPUの電力制限を設定している。ただ、Windowsを再起動するたびにリセットされてしまうので毎回設定しなおすのが手間だった。そこで、バッチファイル+タスクスケジューラを使用し、OS起動時に電力制限を自動設定する運用に変更した。その時の手順を記事として残しておく。

なお、アイドル状態におけるGPUの電力消費は低いので、GPUをフルで回さないなら電力制限を設定する必要はないと思う。

バッチファイルの作成

電力制限を変更するバッチファイルのサンプルは以下の通り。
任意のファイル名で保存する。(例:c:\work\gpu_power_limit.bat)

@echo off
setlocal

REM -- REMから始まる行はコメント行

REM -- 電力制限ワット数のパラメータ(例:150Wに設定する場合)
set UPPER_LIMIT_W=150

REM -- nvidia-smiコマンドのパス
set NVIDIA_SMI=C:\Windows\System32\nvidia-smi.exe

REM -- 電力制限の実行
call %NVIDIA_SMI% -pl %UPPER_LIMIT_W%

endlocal

このスクリプトは、GPU にパワーリミットを設定するのサイトを参考にした。

[備考]
電力制限を設定するとGPUの動作が不安定になる可能性がある。そのため、ためしに手動で電力制限を行い問題が起きないか事前に確認するのが望ましい。
なお、電力制限を行うnvidia-smiコマンドは、管理者モードのコマンドプロンプトで実行する必要がある。

タスクスケジューラの設定

  • タスクスケジューラを起動
    スタートメニュー>Windows管理ツール>タスクスケジューラ

  • タスクの作成

タスクの作成をクリック
01.jpg

「全般」タブ
 タスクの名前を入力(例:GPU電力制限タスク)
 「ユーザーがログオンしているかどうかにかかわらず実行する」を選択
 「最上位の特権で実行する」をチェック
 構成はWindows10に変更(何となく)
02.jpg

続いて「トリガー」タブ
 トリガーを新規作成。タスクの開始を「スタートアップ時」に変更してOK
04.jpg

トリガーを設定したら、となりの操作タブへ
05.jpg

「操作」タブ
 作成済みのバッチファイルをセットしてOK
06.jpg

操作を設定したら、となりの条件タブへ
07.jpg

「条件」タブ
 特に変更しなくてよい
08.jpg

「設定」タブ
 特に変更しなくてよい
09.jpg

最後にOKをクリックすると認証が求められる。
タスクが作成されると、アクティブなタスクとして登録される。
10.jpg

確認(OS再起動後の確認)

nvidia-smiコマンドで電力の上限が確認できる。

設定前
11.jpg

設定後
12.jpg

参考

nvidia-smi(1) で GPU にパワーリミットを設定して消費電力や発熱を減らす
https://blog.amedama.jp/entry/nvidia-smi-gpu-power-limit#GPU-%E3%81%AB%E3%83%91%E3%83%AF%E3%83%BC%E3%83%AA%E3%83%9F%E3%83%83%E3%83%88%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B

おしまい。

4
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?