2020-11-10

Smart Access Memory からの Ryzen 3 3100

 AMD Smart Access Memory は Ryzen 5000 系や Radeon RX 6000 系の組み合わせで効果を発揮する機能のようなのです。

AMD Smart Access Memory についてはこちらを。

https://www.amd.com/en/technologies/smart-access-memory

そして、こちらは Radeon RX 560 で Smart Access Memory を有効化できた、という方の記事です。(Linux上で)

Linux環境と Ryzen 5 2600、Radeon RX 560 で "Smart Access Memory" 機能を試す

OpenGL とか Vulkan のパフォーマンスが向上したということです。

 

ならば、うちの Radeon RX 570 でも Smart Access Memory を有効化できるのではないかと思い、試してみたところ大失敗でした。(Linux Mint 20 です)

BIOS で「Above 4G Decoding」という項目を有効化すると発動するらしいのですが、結果は残念でした。


項目
参考環境
ワタシの環境
CPURyzen 5 2600Ryzen 3 2200G
GPURadeon RX 560Radeon RX 570
Linux Kernel5.95.8
Mesa20.320.0.8


Mesa のバージョンがちょっと古いのが原因でしょうか?でも、Linux では昔からこの機能は実装されていたとのことなので、ソフトウェアのバージョンが原因ではなさそうです。

すると、差は CPU ですかね。

Ryzen 5 2600 は Zen+ で、Ryzen 3 2200G は一つ前の世代の Zen です。この差でしょうか?

もう少し調べてみると、Ryzen 3 2200G は PCI Express 3.0 が x8 レーンに制限されていることが判明しました。Raden RX 570 は PCI Express 3.0 x16 のスロットに装着しているのですが、x8 レーンの制限のために Smart Access Memory が有効化されないのではないかと思い出しました。

$ journalctl -b 0 | grep -i limit
kernel: pci 0000:01:00.0: 63.008 Gb/s available PCIe bandwidth, limited by 8.0 GT/s PCIe x8 link at 0000:00:01.1 (capable of 126.016 Gb/s with 8.0 GT/s PCIe x16 link)

というわけで、突如 Ryzen 3 3100 が欲しくなった今日この頃です。

【オマケ】

久しぶりに BIOS をいじりました。通常はオーバークロックのために「CPU Clock Ratio」という項目を変更することが多いと思うのですが、ワタシは省エネのためにダウンクロック(オーバークロックの反対はアンダークロック?)に挑戦したのですが、なぜか AUTO のまま変更できませんでした。
これも CPU が Ryzen 3 3100 に換装すると実現できるのではないかと淡い期待を抱いています。