clyde-ne45’s blog

clyde-ne45’s blog

PCゲームに関して

Windows11でAMDVBFlash / ATi WinFlash 2.93

バージョンや対応OSによって細かなコマンドや正常に書き込めるGPUが異なるようなので、 2.93 以外では参考にならないかもしれません。

1. 準備・ダウンロード

www.techpowerup.com

atiflash_293.zipamdvbflash_win_5.0.567.zip をダウンロードしてCドライブ直下に展開しておきます。圧縮ファイルと同名のフォルダを作って展開します。

作業に必要なドライバをインストールします。今回5.0.567の用途はここだけです。 amdvbflash_win_5.0.567 フォルダを開きます。

  1. AMDVBFlashDriverInstaller.exe を起動
    • コンソールウィンドウが開く
  2. i を入力してドライバをインストール
  3. 適当なキーを押してウィンドウを閉じる

AMDVBFlashDriverInstaller.exe の出力内容

AMDVBFlash Driver Installer & Uninstaller by W1zzard @ TechPowerUp
https://www.techpowerup.com/download/ati-atiflash/

Usage: AMDVBFlashDriverInstaller.exe [OPTIONS]

Options:
-h, --help                   Print this help message and exit
-i, --install                Installs the AMDVBFlash Driver on this system
-u, --uninstall              Removes the AMDVBFlash Driver from this system

When called without arguments, this program will prompt whether to install or uninstall the driver

*********** Interactive mode started ***********

[I]   Install the AMDVBFlash Driver
[U]   Uninstall the AMDVBFlash Driver
[Q]   Exit this program without any action

Command: i
AMD Tools Driver has been installed successfully

** IMPORTANT **: Once you are finished with flashing, make sure to uninstall the AMD VBFlash drivers using this utility.

Press any key to continue

これで準備は完了です。

以下の PowerShellでの作業 が終わったら AMDVBFlashDriverInstaller.exe をもう一度起動して u を入力してアンインストールしましょう

2. PowerShellでの作業

タスクバーのWindowsアイコンを右クリック -> ターミナル(管理者) を起動します。

cd C:\atiflash_293ディレクトリを移動します。

cd C:\atiflash_293


.\amdvbflash -i で接続中のグラボ一覧を表示します。 先頭adapter列の番号は後で使用します。以下の例では3枚接続しています。

.\amdvbflash -i

出力内容

adapter bn dn fn dID       asic           flash      romsize test    bios p/n
======= == == == ==== =============== ============== ======= ==== ==============
   0    09 00 00 67FF Polaris11       M25P20/c         40000 pass 113-C9947102_981
   1    0C 00 00 66A0 Vega20          GD25Q80C        100000 pass 113-D1640200-043
   2    0F 00 00 66A1 Vega20          GD25Q80C        100000 pass 113-D1631711-100


.\amdvbflash -ai で接続中のグラボの詳細を表示します。

.\amdvbflash -ai

出力内容

Adapter  0 (BN=09, DN=00, FN=00, PCIID=00001002, SSID=00002381)
    Asic Family     :  Polaris11
    Flash Type         :  M25P20/c    (256 KB)
    Product Name is :    C98121 Polaris21 XT A1 GDDR5 J1509OAD.HHO 2017
    Bios Config File:  J1509OAD.HHO
    Bios P/N is     :    113-C9947102_981
    Bios Version    :    015.050.000.001.000000
    Bios Date is    :    05/08/17 21:55
Image 1 -- Offset 0x0
=======================
  ROM header contents:
    Signature              0xAA55
    PCIR offset            0x0240
  PCI Data Structure
    Signature              PCIR
    Vendor ID              0x1002
    Device ID              0x67FF
    PCI Revision           0x00
    Image size             0xEA00
    Code revision          0x0F32
    Indicator              0x00   (Not last image)
    Code type              0x00   (PCAT Image)
  Legacy BIOS File Name    J1509OAD.HHO
  Legacy BIOS Part Number  113-C9947102_981
  Legacy BIOS Build Number 383904
  Legacy BIOS Change List  1407267
  Binary BIOS_IDTF         0x6E7D486A
  ByteCheckSum             0
Image 2 -- Offset 0xEA00
=======================
  ROM header contents:
    Signature              0xAA55
    PCIR offset            0x001C
  PCI Data Structure
    Signature              PCIR
    Vendor ID              0x1002
    Device ID              0x67FF
    PCI Revision           0x00
    Image size             0xE400
    Code revision          0x0000
    Indicator              0x80   (last image)
    Code type              0x03   (EFI Image)
    EFI Signature          0x0EF1
    Compression Type       0x0001 (compressed)
    Machine type           0x8664 (X64)
    Subsystem              0x000B (EFI boot service driver)
    EFI image offset       0x0058 (abs: 0xEA58)
  Uefi Ids from EFI_PCI_EXPANSION_ROM_HEADER:
    UefiSourceRevision     GOP AMD REV: x.x.x.x.x
    UefiSourceChangeList   xxxx
    UefiBiosBuildNumber    xxxx

  Dump Gop Driver Info:
    Machine type code      X64
    The GOP Driver appears to be Authenticode signed.
    Size Of Gop Image      96608 (94 KB)
    GOP Driver Name: AMD GOP X64 Release Driver Rev.1.62.0.15.50.Mar 27 2017.10:13:02
    GOP AMD_Build          660
    GOP AMD_CL             1390968
    GOP BIOS_IDTF          0xDEADBEEF
    GOP Driver does not carry tables!
Adapter  1 (BN=0C, DN=00, FN=00, PCIID=00001002, SSID=0000081E)
    Asic Family     :  Vega20
    Flash Type         :  GD25Q80C    (1024 KB)
    Product Name is :    Vega20 A1 GLXT WS D16402 32GB 8HI 1000m
    Bios Config File:  D1640200.043
    Bios P/N is     :    113-D1640200-043
    Bios Version    :    016.004.000.043.012098
    Bios Date is    :    05/02/19 11:36
Image 1 -- Offset 0x0
=======================
  ROM header contents:
    Signature              0xAA55
    PCIR offset            0x02C0
  PCI Data Structure
    Signature              PCIR
    Vendor ID              0x1002
    Device ID              0x66A0
    PCI Revision           0x00
    Image size             0xE800
    Code revision          0x1004
    Indicator              0x00   (Not last image)
    Code type              0x00   (PCAT Image)
  Legacy BIOS File Name    D1640200.043
  Legacy BIOS Part Number  113-D1640200-043
  Legacy BIOS Build Number 457954
  Legacy BIOS Change List  1777479
  Binary BIOS_IDTF         0x29ECEAF6
  ByteCheckSum             0
Image 2 -- Offset 0xE800
=======================
  ROM header contents:
    Signature              0xAA55
    PCIR offset            0x001C
  PCI Data Structure
    Signature              PCIR
    Vendor ID              0x1002
    Device ID              0x66A0
    PCI Revision           0x00
    Image size             0xAC00
    Code revision          0x0000
    Indicator              0x80   (last image)
    Code type              0x03   (EFI Image)
    EFI Signature          0x0EF1
    Compression Type       0x0001 (compressed)
    Machine type           0x8664 (X64)
    Subsystem              0x000B (EFI boot service driver)
    EFI image offset       0x0050 (abs: 0xE850)
  Uefi Ids from EFI_PCI_EXPANSION_ROM_HEADER:
    UefiSourceRevision     GOP AMD REV: 2.06
    UefiSourceChangeList   xxxx
    UefiBiosBuildNumber    xxxx

  Dump Gop Driver Info:
    Machine type code      X64
    The GOP Driver appears to be Authenticode signed.
    Size Of Gop Image      64704 (63 KB)
    GOP Driver Name: AMD GOP X64 Release Driver Rev.2.6.0.0.0.Mar 15 2019.11:01:07
    GOP AMD_Build          2154
    GOP AMD_CL             1757001
    GOP BIOS_IDTF          0xDEADBEEF
    GOP Driver does not carry tables!
Adapter  2 (BN=0F, DN=00, FN=00, PCIID=00001002, SSID=00000834)
    Asic Family     :  Vega20
    Flash Type         :  GD25Q80C    (1024 KB)
    Product Name is :    Vega20 A1 SERVER XL D16317-11 Hynix/Samsung 32GB Gen 24HI 600m
    Bios Config File:  D1631711.100
    Bios P/N is     :    113-D1631711-100
    Bios Version    :    016.004.000.064.016969
    Bios Date is    :    05/07/21 11:42
Image 1 -- Offset 0x0
=======================
  ROM header contents:
    Signature              0xAA55
    PCIR offset            0x02BC
  PCI Data Structure
    Signature              PCIR
    Vendor ID              0x1002
    Device ID              0x66A1
    PCI Revision           0x00
    Image size             0xA200
    Code revision          0x1004
    Indicator              0x80   (last image)
    Code type              0x00   (PCAT Image)
  Legacy BIOS File Name    D1631711.100
  Legacy BIOS Part Number  113-D1631711-100
  Legacy BIOS Build Number 563528
  Legacy BIOS Change List  2302042
  Binary BIOS_IDTF         0x39A0B2A8
  ByteCheckSum             0


.\amdvbflash -s <adapter番号> <ファイル名.rom> で現在のVBIOSを保存します。

.\amdvbflash -s 2 MI50stockVBIOS.rom


.\amdvbflash -f -p <adapter番号> <書き込むVBIOS名.rom> で指定した番号のグラボに書き込みを開始します。グラボが1枚なら番号は 0 です。

.\amdvbflash -f -p 2 V420.rom

出力内容

Old SSID: 0834
New SSID: 081E
The result of RSA signature verify is PASS.
Old DeviceID: 66A1
New DeviceID: 66A0
Old Product Name: Vega20 A1 SERVER XL D16317-11 Hynix/Samsung 32GB Gen 24HI 600m
New Product Name: Vega20 A1 GLXT WS D16402 32GB 8HI 1000m
Old BIOS Version: 016.004.000.064.016969
New BIOS Version: 016.004.000.043.012098
Flash type: GD25Q80C
100000/100000h bytes programmed
100000/100000h bytes verified

Restart System To Complete VBIOS Update.

Radeon Instinct MI50をWindows上で動かす

AMD Radeon Instinct MI50を買いました。特定のコミュニティで1年ほど前からポツポツと、ここ2ヵ月ほどは毎日のように話題に上がるカードです。

www.techpowerup.com

最大の魅力はそのVRAMスペックかと思います。HBM2による1TB/s超の帯域幅と、それを32GB備えたモデルの存在。今回買ったのも32GB版です(リンク先には16GB版しか載っていませんが)。

Linuxでの利用が前提 のカードですが、Windows上で最低限動くように整えます。方法はいくつか見つかりました。

定番の方法

  1. 非公式ドライバのインストール【今回使用】
  2. 公式インストーラからドライバを抽出して手動でインストール
  3. 同一アーキテクチャ gfx906 の他カード用VBIOSを書き込む

今回は最も手軽そうで、以前から気になっていたものの使ったことがなかった非公式ドライバを使用しました。

VRAMラッシュが起きたこの時代、コスパを求めるユーザーの選択肢となるでしょうか。


準備:物理的な前提環境

まずはPCのハードウェア準備から。

  • 映像出力用のグラボ
    • MI50自体は原則映像出力できません。別のdGPUやiGPUが必要です(今回は過去記事の主役RX550を使用しました)
  • 強力な冷却方法
    • MI50はファンレスカードですが、TDP300Wなのでパッシブでは冷やせません(今回は3Dプリント品のダクトに高回転ファンを装着しました)

UEFIでの作業

MI50を取り付ける前にUEFIの設定を変更します。以下のように設定しないと一般的なマザーボードではPOSTが通りません(たぶん)。

Tesla P40など、他のサーバー用カードでも共通する話のようです。

UEFI項目名 設定値
CSM Disabled
Above 4G Decoding Enabled
Resizable BAR Enabled

これらのUEFI項目はゲーマー向けメディアなどでも有名で、GPU性能を発揮させるための設定として定番です。手順はそちらに任せ、ここでは省略します。

設定を保存したらPCの電源を切り、MI50を取り付けます。

Windows上での作業

無事にWindowsが起動しても、このままではMI50は認識されません。AMDも公式にはWindows用ドライバを配布していないため、有志によるドライバの存在が輝きます。

それでは、非公式ドライバをインストールします。

rdn-id.com

  1. リンク先から Polaris-Vega-Navi 25.3.1 R2.5 をダウンロード
  2. 解凍して Setup.exe を起動
  3. 1 を入力
  4. Standard Profile を選択
  5. 25.3.1 Enterprise for Polaris/Vega/NAVI arch を選択
  6. Stock を選択
  7. お好みで選択
  8. S を入力
  9. Microsoft を選択
  10. インストールが開始されるので完了を待つ
  11. X を入力して終了する
  12. Radeon Instinct MI 60 として認識されるが、 これで成功

MI60としてタスクマネージャーや計測ソフト類に表示されるようになっていれば成功です。

上記手順のスクリーンショットを掲載しています。画像の通りにしなくてよい箇所もあります。


感想

これで目的通り「Windows上で最低限動く」ようになり、実ゲームやローカルLLMの動作、ベンチマークの完走などが確認できました。

性能についてはまた別の機会に詳しく書きたいと思いますが、スペックから期待される程度のパフォーマンスは、しっかり発揮されているようです。ただ、上位モデルのMI60判定になって4CU増加していたりということはありません。

次のステップとしては、やはりVBIOSを書き換えることになりそうです。MI50単体での映像出力やUEFI設定を問わず起動といった、Windowsに限らない恩恵があるようです。

追記:MI50からV420へのVBIOS書き換えを行いました。 ATiFlashの使い方と実例の自分用省エネ記事ですが、実例にMI50を使っています。

clyde-ne45.hatenablog.com

ASRock X470 Master SLI CH341aでBIOSアップデート

X470 Master SLIというマザーボードだけ所有しているAM4環境があったので、Ryzen 7 5700X3Dを買ってみました。このCPUを動かすためには、古いCPUを調達してきてBIOSをアップデートしないといけない状況でしたが、出費を増やしたくありません。

CPUなしでBIOSをアップデートできるSPIプログラマーというものを使ってみました。

 

 

方法

BIOS_PHピンがあるので使います。ASRockのマザボにはよく搭載されているようです。今はSPI_TPM_J1ピンというらしいです。自分が分かればいい程度の目的なので丸投げで申し訳ありませんが、以下Redditリンク先のガイドが一通り書いてくれていますので従います。ピン配列や手順もあり、画像多めなので分かりやすいです。

https://www.reddit.com/r/ASRock/comments/1cz1bcz/guide_asrock_spi_tpm_j1_bios_ph_pinout_for_ch341a/

注意点

  • PCがもう1台必要です。
  • 書き換えるマザボにはCPUやメモリ、電源など何も取り付けず作業します。
  • ガイドに従いNeoProgrammer V2.2.0.10を使いますが、ドライバのみAsProgrammer_2.0.3a同梱のCH341PAR.exeを使いました。
  • BIOSアップデートファイルの拡張子を.binなどに変更しないとNeoProgrammerで開けないことに注意します。
  • 32MBのROMに16MBのアップデート用ファイルを書き込む形になりますが、そのまま実行します。

 

感想

5600Gを載せる際同じようにBIOSアップデートをしたのですが、2度とする必要はないものと思い、メモ書きなどを残しておらず時間を食いました。今回参考にしたRedditの記事は情報が一通り揃っていて助かりました。

「Zen3のAPUより新しいものは載せないだろうからBIOS P4.40のままでいいだろう」と思ってCPUを手放したのが数日前でした。

とにかく成功して良かったです。次に困ったときのためにメモ程度の記事を書きましたが、そもそもマザボを残してCPUだけ手放す際、その時の最新BIOSに更新してからにしましょう。

 

【Radeon】ゲーム後のアイドル消費電力増加を改善

しばらくは根本的な解決方法を探しつつ、ゲームのあとは動画再生を心がけることになりそう…。

RX6800を買いました。RX6600XTからの換装で性能には満足です。消費電力面でも、負荷時の低燃費ぶりには文句ないのですが…。

ゲームなどで負荷をかけたあとのアイドル消費電力が若干増えてしまうことに少し悩みました。RX6600XTより多いのは仕方ないですが、RX6800単体で「良いとき・悪いとき」が存在してます。

ある程度試したところ、以下の画像の通り、メモリクロックが下がりきらなくなってるのが原因と見ました。

両方アイドル時のAfterburnerスクショ
画像右が負荷をかけたあとのアイドル。約8W増

改善方法はあくまで応急処置ですが、いくつかありそうです。無難に再起動やログアウトでもOK。今見つけているなかで最も楽なのは「ローカルの動画ファイルを数秒再生する」方法です。動画再生の負荷でメモリクロックが張り付くのが確認できますが、これがいい刺激になるんでしょうか。

完全解決が理想ではありますが、一旦この方法で落ち着きました。数秒で直りますので。そして、直接関係あるのか不明ですが、過去にドライバでアイドル消費電力が改善されたのがRX6800・RX6800XT・RX6900XTだったことを知りました。このあたりを使っている方に同じ現象が起きているのか気になります。

What AMD Didn't Tell Us: 21.4.1 Drivers Improve Non-Gaming Power Consumption By Up To 72% | TechPowerUp

自分が使用しているドライバは23.4.2でした。

2024.01.22追記: あれからAFMF用preview driverなど色々使いました。この消費電力増加はどのドライバでも起きてる気がします。

もちかたマッピング

あるとき「手形の画像」がもたらされ、人々はこれに色を塗って自分のもちかたを伝え合おうとしました。

ほかにもあるかもしれないけど、自分のアンテナで当時拾えたツイートを貼っておきます。鍵垢の方のツイートは含みません。

あまり新鮮なネタではありません。ツイート日時にはご注意ください。

最後に。

 

【CRU】Custom Resolution Utility 1.5での変更

さいきん、Custom Resolution Utility (CRU) に大きなアップデートがあり、バージョン1.5が登場しました (執筆時点で最新バージョンは1.5.1) 。今回の変更内容によって自分の中で混乱が起きているので、その部分を整理しておきたいと思います。自分用ですね。

タイミングプリセットの変更

変更の1つですが、独自表記を減らし、オフィシャルな表記を採用したことが挙げられます。これ自体は良い変更だと思いますが、バージョン1.4.x以前の記事をそのまま参考にすることが難しくなりました。

新しい表記と古い表記、どれがどれに対応するのか書いてみます。

旧バージョンの表記との対応付け

英語での解説は以下のページの「Changes in 1.5:」にまとめられています。おそらくCRU作者本人が執筆されています。

Custom Resolution Utility (CRU)

ざっくり訳すと以下のように対応するようです。

  • Automatic - LCD standardは「Automatic (PC) とAutomatic (HDTV)」 に分けた
  • Automatic - LCD nativeは「Native (PC) とNative (HDTV)」に分けた
  • Automatic - LCD reducedは「Exact reduced」が似た役割
  • Automatic - CRT standardは「Automatic (CRT)」に表記変更
  • ExactとExact reducedを新規追加
  • CVT standard、CVT-RB standard、CVT-RB2 standard、GTF standardを新規追加

これらの変更箇所は、次の画像の黄色枠で囲った「Edit...」の先にあります。

f:id:clyde-ne45:20210428185254j:plain

CRU 1.4.1と1.5.1のホーム画面。ここは同じです

「Edit...」の先は次の画像のような画面です。

f:id:clyde-ne45:20210428185242p:plain

Detailed resolutions -> Edit...の先の画面。1.4.1と1.5.1で違いがある

ここは本来、ディスプレイの非表示領域というものを調整するのによく使われます。手打ちで数値を調整できるほかに、プルダウンメニュー内には手軽な「プリセット」のようなものが用意されています。この「プリセット」に関する変更について解説しました。

旧バージョンを使うのもオススメ

分けたり新規追加したり、それぞれ理由があるようですが、少し技術的な内容だったので省略しました。CRUを使うだけなら知らなくても問題ないと思います。「少し技術的な内容」については、自分が書いたなかでは以下の記事で多少触れていますが、素人なので間違っているかも。

ところで、CRUは旧バージョンもダウンロード可能です。古い有益な記事を参考にするなら、同じバージョンを使えばこういった読み替えの手間はありません。

clyde-ne45.hatenablog.com

 

【RADEON】RX550をRX560化する

clyde-ne45.hatenablog.com

全体的に古い本記事ですが、特に ATI WinFlash に関しては自分で試しても同じものが使えませんでしたので、上記リンクの別記事で整理しました。

 

「RX550のRX560化」とは何か?これはRX550の性能を向上させる1つの方法である。ツイートは以前に行ったものの、日本語の記事としてまとまったものにしておこうと思う。
「640SP版のRX550」を対象にしていることは初めに強調しておきたい。ふつうのRX550との主な違いは後述。

f:id:clyde-ne45:20201209191622p:plain
f:id:clyde-ne45:20201209201337p:plain
上のツイートは削除してしまったので当時ツイートした画像を再度貼っておきます

RX550のVBIOS書き換え

書き換えそのものが目的ではなく、ソフトウェア的に封印されたSPをアンロックして性能向上を図るという目的のためにRX560化という手法をとる。さっそく取り掛かっていく。

ビデオメモリのメーカーを確認する

次の作業に備えてGPU-Zを使うのがよい。

f:id:clyde-ne45:20201209191622p:plain

Memory Type欄からElpida製と判明。Shaders欄も確認しておく

VBIOS書き換えの際、GPUコアはもちろん、ビデオメモリのメーカー (Samsung, Hynix, Micron, Elpidaなど) まで適合するものを使うので、先に確認する。その他の情報もなるべく一致するものを使うのが無難だが、メーカー (ASUSやSAPPHIREなど) が異なるVBIOSを使用することはあまり問題ない。

VBIOSをバックアップする (任意)

書き換えトラブルにより画面出力が不可能になってしまうリスクなどがあり、バックアップと代えのグラフィックボードや内蔵グラフィックスの用意を推奨したい。書き換え後の不具合はバックアップに書き戻せば直る。

f:id:clyde-ne45:20201209192612p:plain

黄色で囲ったボタンで現在のVBIOSを吸い出すことが可能

VBIOS書き換えに必要なものをダウンロードする

書き換えツール「ATIFlash」と「書き換えたいVBIOS」の2点が必要になるので、以下のリンクからダウンロードする。

自分の場合はVGA Bios Collectionから「Memory SupportにElpidaが記載されているもの」として「Powercolor.RX560.2048.170508.rom」をダウンロードして使用した。

ATIFlashを使う

以下の手順3.の「.\atiwinflash -f -p 0」の「0」はPCIExpressスロットの最優先スロットのことであり、対象のグラフィックボードを接続している位置によって適宜「1」や「2」に書き換える必要がある。

それに続く「Powercolor.RX560.2048.170508.rom」も、使用するVBIOSのファイル名によって適宜書き換える必要がある。

  1. ダウンロードしたATIFlashを解凍し、出てきたフォルダはC: の直下に置く。このフォルダの中に書き換えに使うVBIOSも一緒に置く
  2. C:\atiflash_xxxフォルダ内でShift + 右クリックして「PowerShellウィンドウをここで開く」をクリック
  3. .\atiwinflash -f -p 0 Powercolor.RX560.2048.170508.rom」をコピペしてエンター
  4. PCを再起動する
f:id:clyde-ne45:20201209195050p:plain
f:id:clyde-ne45:20201209200956p:plain
ファイルの配置とPowerShellの入力

成功していれば再起動後に反映される。

失敗した場合などは、バックアップしておいたVBIOSファイルを使って上の手順1~4を実行し、元の状態へと復元できる。

書き換えの成否を確認する

GPU-ZのShaders欄から確認できる。以下のツイートで手書きの丸で囲まれている部分。

自分の場合は640SP -> 896SP化ができた。メモリクロックやGPUクロックの定格値もVBIOSに定義されているため、VBIOS書き換えによって変化している。特にメモリクロックは転送帯域幅が96GB/s -> 112GB/sに向上しており、それなりに性能向上に寄与していそうではある。

ちなみに、896SP化できるとは限らず、成功しても768SP化に留まるという報告も多い。

低電圧化・オーバークロック (任意)
  • GPUクロックは最大1250MHz程度
  • GPU電圧は最大900mV程度
  • 電力制限は最高値
  • それ以外は定格設定

が個人的なおすすめ。以下に具体的な今回のオーバークロック作業を書いておく。一般的なやり方だと思うけれど、念のため。

今回使用したRX550は補助電源を持たないため、仕様上はPCIExpress端子を介しての75Wが給電上限となる。これを超えて動作していると怖いので、確認と調整をした。

PC全体の消費電力を見るワットチェッカー以外に計測器具がないので、これの値の変化をもって判断した結果、VBIOS書き換え直後はボード全体で60W程度を使用しているようだった。

このとき電力制限により動作クロックは1000MHz前後で、電力制限を緩和すると動作クロックが定格の1180MHzに達した。しかし消費電力が75Wを超えているようだったため、GPUコアの低電圧化を行った。
低電圧化では、自分の場合は、電力制限が働いていたときの「消費電力60W前後」に収まることを目指した。60W以内で動作できる上限となったGPUコア電圧は900mV程度だった。
性能を最大化したいので、900mVで動作するGPUクロックの上限を調べた。自分の個体では1250MHz程度だった。
最終的には1250MHz・900mVに少し余裕を持たせる意図で1230MHz・890mVとしてみた。最後は感覚で。

f:id:clyde-ne45:20201209204349p:plain
f:id:clyde-ne45:20201209204357p:plain
Radeon Setting上での調整前・調整後

性能向上幅について

自分が行った作業はここまでで完了している。ここでは一般的なRX550とどの程度の性能差があるのか、あるいは何も変わっていないのか、簡単に確かめておきたい。

ベンチマークスコア

3DMarkからFire StrikeとTime Spy、定番としてFFXIVベンチマーク「漆黒のヴィランズ」の3つで計測した。

できるだけ純粋なGPU性能の指標として、3DMarkのGraphics Scoreに注目するのがよいかと思う。FFXIVベンチマークは他のパーツの影響が比較的大きくなる。

f:id:clyde-ne45:20201209204829p:plain
f:id:clyde-ne45:20201209204837p:plain
f:id:clyde-ne45:20201209204918p:plain
Graphics Score: 6767 (Fire Strike), 1900 (Time Spy)

一般的なRX550のスコアとしてこちらのレビューを参考にした。

androgamer.net

レビューによると一般的なRX550のスコアは

  • Fire Strike Graphics Score: 4136
  • Time Spy Graphics Score: 1175
  • FFXIV bench Score: 3809

3つのベンチマークスコアだけで見れば、1.38倍から1.63倍程度の性能差といえそう。GPUの理論性能値のみを比較すると1.211TFLOPS -> 2.204TFLOPSなので1.82倍だけれど、これはあくまで理論値。

ちなみにFFXIVベンチはバージョンが1世代ズレている。算出されるスコアはほぼ変わらないのでそのまま比較に使用した。

Fluid Motionパフォーマンス

追加予定

補足知識など (任意)

作業と性能確認までがここまでで完了している。ここからは、関係はあるけれど必須ではない知識を書いていきたい。余裕があれば読んでおくといいかもしれない。

RX550のバリエーションについて

大きく分けて2種類のRX550が存在している。

AMD Radeon RX 550 Specs | TechPowerUp GPU Database

AMD Radeon RX 550 640SP Specs | TechPowerUp GPU Database

注目するのはストリームプロセッサー (SP) 数の差で、512SP版と640SP版がある。これらはどちらもRX550であり、区別されず流通している。
512SP版は当初AMDが発表した通りのスペックを備えるGPUで、大手レビューサイトなどではこちらが使用されている。

640SP版はしばらく後になって登場したRX550で、Polaris 21 (Baffin) コアを採用しており、512SP版のPolaris 12 (Lexa) コアと異なっている。

見分け方はメモリクロックの違い

SP数や採用GPUのコードネームで見分けられればいいが、全てのRX550製品ページがこれを記載しているわけではない。そこで、ほとんどの場合記載されている情報での見分け方としてビデオメモリクロックで判別する方法がある。

512SP版のビデオメモリは1750MHz動作 (実効7000MHz) 、640SP版のビデオメモリは1500MHz動作 (実効6000MHz)という仕様なので、このメモリクロックをもって判別できる。

ただし最終的な調整はメーカー次第なので、オーバークロックモデル等これに当てはまらない製品が存在するかもしれない。

640SP版に使用されるPolaris 21 (Baffin) コアについて

BaffinコアはもともとPolaris 11として開発され、最大1024SPの規模のGPUとされている。後継のPolaris 21では動作クロックを向上させたものの、小改良に留まることからか、Baffinの名は引き継がれている。

Baffinコアの採用例を見てみると、RX460やRX560があり、これらのSP数は1024または896となっている。

640SP版のRX550はこれらと同一のGPUを備えていながら、何らかの理由で1024個のSPが640個まで制限されている。

SP数が制限されているのはなぜか

GPUが本来備えるスペックで動作していない場合は

  • 製造上の問題で動作不良コアが出ている
  • VBIOSなどによってソフトウェア的に封印されている

といったパターンが考えられる。

ここで、後者については適当なVBIOSに書き換えることで封印部分が動作可能になる事例があり、今回で言えばRX460やRX560のVBIOSがそれにあたる。RadeonのVBIOS書き換えが一部で盛んな理由がここにある。

今回の作業もこれに期待してのものになる。

おわりに

170mm程度のコンパクトなカード長で補助電源が不要という個性は、グラフィックボードのマッシブ化が激しい今ではいっそう際立って見える。最新のパワフルなグラフィックボードをメインで使う場合でも、PCトラブル時などにRX550の取り回しの良さが輝くシーンがありそう。
補助電源の不要なグラフィックボードに性能を求める勢力が根強いのも理解できたかもしれない。