amdgpuで「カスタム」PowerPlay電源プロファイルを使用するには?

amdgpuで「カスタム」PowerPlay電源プロファイルを使用するには?

私のラップトップには、amdgpuとmesa 20.3.1を使用してManjaroを実行しているAMD RX 580があります。端末で実行すると、cat /sys/class/drm/card0/device/pp_power_profile_mode次の結果が表示されます。

NUM        MODE_NAME     SCLK_UP_HYST   SCLK_DOWN_HYST SCLK_ACTIVE_LEVEL     MCLK_UP_HYST   MCLK_DOWN_HYST MCLK_ACTIVE_LEVEL
  0   BOOTUP_DEFAULT:        -                -                -                -                -                -
  1   3D_FULL_SCREEN:        0              100               30                0              100               10
  2   POWER_SAVING *:       10                0               30                0              100               10
  3            VIDEO:        -                -                -               10               16               31
  4               VR:        0               11               50                0              100               10
  5          COMPUTE:        0                5               30                -                -                -
  6           CUSTOM:        -                -                -                -                -                -

事前定義されたさまざまなモードが表示されますが、値が設定されていない「カスタム」モードもあります。

私が見つけたhttps://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#pp-power-profile-modeこれの説明は次のとおりです。

プロファイルを選択するかカスタムプロファイルを作成するには、まずpower_dpm_force_performance_levelを使用して手動を選択します。 pp_power_profile_modeに事前定義されたプロファイルの数を記録すると、これらのヒューリスティックがアクティブになります。カスタム推論セットを作成するには、カスタム構成ファイルの番号と各推論パラメーターの設定から始めて、数値文字列をファイルに作成します。 ASICファミリ間の違いにより、経験的パラメータはファミリごとに異なります。

現在のモードを「POWER_SAVING」に変更するために実行できますが、文書を読むと、「CUSTOM」モードを設定するためにecho "2" > /sys/class/drm/card0/device/pp_power_profile_mode実行できる必要があると思います。echo "6 10 0 30 0 100 10" > /sys/class/drm/card0/device/pp_power_profile_modeそれでも報酬を受けるだけですbash: echo: write error: Invalid argument

ここで「CUSTOM」モードをオーバーライドできますか?

ベストアンサー1

私のpp_power_profile_modeRX 470はRX 580(両方のPolarisカードの両方)と同じように見え、次のようにプロファイルをCUSTOM変更して有効にすることができました。

echo "6 1 50 250 20 1 250 250 20" > /sys/class/drm/card0/device/pp_power_profile_mode

パラメータは(順番に)次のとおりです。

  1. NUMカスタマイズのためのモードの選択6

  2. ENABLE_SCLKここで設定されたコアクロックパラメータを適用する必要があるかどうか。

  3. SCLK_UP_HYSTコアクロックが立ち上がる前の遅延時間(ミリ秒)です。

  4. SCLK_DOWN_HYSTコアクロックが落ちる前の遅延時間(ミリ秒)です。

  5. SCLK_ACTIVE_LEVELコアクロックを上げるために必要なコア負荷。

  6. ENABLE_MCLKここで設定したメモリクロックパラメータを適用するかどうか。

  7. MCLK_UP_HYSTメモリクロックが立ち上がる前の遅延時間(ミリ秒)です。

  8. MCLK_DOWN_HYSTメモリクロックが落ちる前の遅延時間(ミリ秒)です。

  9. MCLK_ACTIVE_LEVELメモリクロックに必要なメモリ負荷を増やします。

パラメータENABLE2と6は1(有効化)または0(無効化)できます。パラメータ3、4、7、8はmsまたは(無限大)HYSTです。これらのパラメータは、活動レベル(負荷)のパーセンテージです。0254255ACTIVE_LEVEL0100

デフォルト3D_FULL_SCREENプロファイルにはコア設定0 100 30とメモリ設定があります0 100 10。私の目標は、ゲームをプレイするときは高いパフォーマンスを発揮しますが、ゲームをプレイしていないときは消費電力を減らすことです。そのため、立ち上がり速度と立ち下がり速度が遅くなりますが、コア負荷にさらに敏感なコアクロックを設定しました(0 100 3050 250 20)。ゆっくりと立ち下がり、メモリ負荷に敏感ではない(0 100 10→)メモリクロックを設定して、250 250 20電圧が常に800mVから1000 + mVにジャンプしないようにします(これはメモリクロックが増加したときに発生します。)コアクロックはわずか300MHzです。します。

おすすめ記事