アカウント名:
パスワード:
4gmaer のレビューでは、> L2キャッシュを超える「4MB Range」以降で,Ryzen 7 1800Xの遅延状況が際立って悪化していることだ。> FX-9590より遅いというのは異常であり,正直,「キャッシュアクセスやメモリアクセス周りの最適化が十分でない」可能性が> 極めて高いのではないかと危惧しているが
で終わってしまっていますが、PC Watch のレビューでは補足があり> AMDによるとSandraやAIDA64などのベンチマークソフトでは、ZENマイクロアーキテクチャのキャッシュ帯域を適切に> 測定できないとしており、独自に測定した結果が案内された。
ということで(どうい
今回のRyzenでは、キャッシュの先読みにニューラルネットワークを応用した学習機能を持たせてるようで、ある程度コードを走らせ続けると、学習結果に基づく予測でプリフェッチ元を決めてるようなんですよね。
http://www.amd.com/en-gb/innovations/software-technologies/zen-cpu#neuralnet [amd.com]
当然、ハードウェアだけでは実現できないでしょうから、マイクロコードのアルゴリズムや重み付け変数のチューニングで、伸びしろが相当あったということじゃないですかね。流石に、ここから更に、今の50%分パフォーマンスを上げるとかいうのは難しいでしょうけど。
「ハードウェアだけでは実現できないでしょうから、マイクロコードの…」は何とも言えませんね。そこまで大規模にやると分岐ごと(数命令に1つは分岐がでてきてもおかしくはない)に計算リソースを食って命令の実行の妨げになりそうだし、ハードウェア(電力的に有利だけど面積的に不利なので小規模)でやってる気がしますが…重み付けの最適化速度(学習速度)等は恐らく調整できると思います。
入力は該当の分岐命令の過去の分岐履歴や直近の分岐命令の履歴とかなんでしょうけど、他にも何か入力しているのかな…上位アドレスのハッシュとかスレッドのIDとか(そういえば特許取ってましたっけ…特許の中身読めってことか。)
マイナビのベンチ記事読んでSmart Prefetchの方も気になりました。記事では触れらていませんが、データキャッシュのレイテンシでシーケンシャルと疑似ランダムのグラフを比較すると、シーケンシャルアクセスでL1サイズを超えた場合でもL1並に小さい(恐らくL2からL1へ先読みされてる)のが興味深いです。(疑似ランダムの方(縦軸が大きくなって分かりにくいですが)はインテルと同じようにカクッと大きくなってます。疑似ではない方のランダムでのジワっと上昇する(AIっぽさを感じる)あたりも面白いです。レイテンシ見ていると予測が当たるとかなり速いけど外れるとかなり遅くなる感じで、L3の性質と合わせてクセがあると言われる原因かも知れませんね。)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
キャッシュレイテンシについて補足 (スコア:4, 参考になる)
4gmaer のレビューでは、
> L2キャッシュを超える「4MB Range」以降で,Ryzen 7 1800Xの遅延状況が際立って悪化していることだ。
> FX-9590より遅いというのは異常であり,正直,「キャッシュアクセスやメモリアクセス周りの最適化が十分でない」可能性が
> 極めて高いのではないかと危惧しているが
で終わってしまっていますが、PC Watch のレビューでは補足があり
> AMDによるとSandraやAIDA64などのベンチマークソフトでは、ZENマイクロアーキテクチャのキャッシュ帯域を適切に
> 測定できないとしており、独自に測定した結果が案内された。
ということで(どうい
Re: (スコア:1)
今回のRyzenでは、キャッシュの先読みにニューラルネットワークを応用した学習機能を持たせてるようで、ある程度コードを走らせ続けると、学習結果に基づく予測でプリフェッチ元を決めてるようなんですよね。
http://www.amd.com/en-gb/innovations/software-technologies/zen-cpu#neuralnet [amd.com]
当然、ハードウェアだけでは実現できないでしょうから、マイクロコードのアルゴリズムや重み付け変数のチューニングで、伸びしろが相当あったということじゃないですかね。
流石に、ここから更に、今の50%分パフォーマンスを上げるとかいうのは難しいでしょうけど。
Re:キャッシュレイテンシについて補足 (スコア:0)
「ハードウェアだけでは実現できないでしょうから、マイクロコードの…」は何とも言えませんね。そこまで大規模にやると分岐ごと(数命令に1つは分岐がでてきてもおかしくはない)に計算リソースを食って命令の実行の妨げになりそうだし、ハードウェア(電力的に有利だけど面積的に不利なので小規模)でやってる気がしますが…重み付けの最適化速度(学習速度)等は恐らく調整できると思います。
入力は該当の分岐命令の過去の分岐履歴や直近の分岐命令の履歴とかなんでしょうけど、他にも何か入力しているのかな…上位アドレスのハッシュとかスレッドのIDとか(そういえば特許取ってましたっけ…特許の中身読めってことか。)
マイナビのベンチ記事読んでSmart Prefetchの方も気になりました。記事では触れらていませんが、データキャッシュのレイテンシでシーケンシャルと疑似ランダムのグラフを比較すると、シーケンシャルアクセスでL1サイズを超えた場合でもL1並に小さい(恐らくL2からL1へ先読みされてる)のが興味深いです。
(疑似ランダムの方(縦軸が大きくなって分かりにくいですが)はインテルと同じようにカクッと大きくなってます。疑似ではない方のランダムでのジワっと上昇する(AIっぽさを感じる)あたりも面白いです。レイテンシ見ていると予測が当たるとかなり速いけど外れるとかなり遅くなる感じで、L3の性質と合わせてクセがあると言われる原因かも知れませんね。)