Coelacanth's Dream

Linux Kernel に AMD Polaris GPU の電力管理を改良、修正するパッチが投稿される

先日 の LLVM に追加された GPUID といい、前世代の GPU に関するコードの見直しが行なわれているのだろうか。

Linux Kernel (amd-gfx) に、Polaris1x GPU の電力管理を改良、修正する 40個のパッチが投稿された。
[PATCH 00/40] Various Polaris fixes and optimizations パッチには、ある温度に達するまでファンを停止する Zero RPM 機能のサポート、マルチディスプレイに関する問題の修正が含まれている。
Poalris1x GPU のコアクロック、メモリクロック、ファン制御が改良された。そして、マルチディスプレイ時でもメモリクロックの切り替えが行なわれるようになり、アイドル時の消費電力が削減される。

RX 560 (Polaris11/21) を愛用している自分には嬉しいパッチと言える。

また、ここまで Polaris1x GPU とまとめて呼んでいるが、ハードウェア側の電力管理ユニットの改良が為された Polaris1x の後継(kicker)、Polaris2x が存在し、それらは RX 500シリーズ のベースとなっている。
それに加え、Polaris20 (RX 580/570 etc) の製造プロセスを GF 14nm から GF 12nm に移行させた Polaris30 も存在し、そちらは RX 590 のベースとなる。
[PATCH 01/40] drm/amd/pm: correct the checks for polaris kickers

そして、今回のパッチで知ったのだが Polaris31 も存在するという。ただ、ベースに使われているのは RX 560X のみとなる。1
RX 560RX 560X の違いは正直よく分からず、AMD 公式サイトを見てもベース/ブーストクロックは同じであり、違いとなり得そうな TDP、製造プロセスは記載されていない。2
一応、Polaris30/31 の SMC(System Management Controller?) ファームウェアはそれ以外と分けられている。
さらに、Polaris30 をベースとするのは RX 590 だけではなく、Radeon RX P30PH も該当するらしいのだが、この RX P30PH についての情報が他に無い。3

ある世代の GPU の後期に生まれやすい謎と言えるかもしれない。
先日 Xbox One SoC と同一ダイをベースとしていることが判明した A9-9820 (Cato APU) のように4、前世代の APU/GPU と言っても全てが明かされている訳ではなく、魅力とも言い換えられるであろう謎はまだまだある。