なんとなく綴ってみた

アクセスカウンタ

zoom RSS RYZEN 7は既報通りの成績・・・・ベンチではAVXが多少弱いが、確実にお得。

<<   作成日時 : 2017/03/03 09:27   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

今日は、ひな祭りである。そして、Nintendo Switchの発売日であるが、RYZEN 7の方が私にとっては重要である。
PC Watchが早速、ベンチマークをしていたので、読んでみたがCinebenchの数値は良好のようだ。一方で、他のベンチになると、AVX系の処理においてど足を引っ張るという傾向が見られる。

これは、後述するが、元々SSEの拡張をする際にAMDが提唱し、実装したXOPの扱いにおいて実装の差が生じていたが、その関連の仕様はほぼZenで排除されているはずだが、何かその関係があるのかもしれない。まあ、分岐の仕様やSIMDポートにおける発行管理の違いかも知れないが・・・・。
最適化が行われれば、RYZEN 7のコストパフォーマンスはより高まることになりそうだ。

逆に言えば、Bulldozer以来多くの開発者はAMDのハードウェアを無視して開発してきたという証拠でもある。だから、ここに来てAMDが有利な性能で登場した際に、x86/87のベースアーキテクチャに上乗せされているSSE/AVXで、その放置されていた拡張部分の違い明確に出てきたといえるのかも知れない。

まあ、この欠点がマイナスに働くことはほぼ無いと思われる。何故なら、比較する対象が Core i7-5960X Processor Extreme Editionだからだ。8コア16スレッド同士であり、プロセッサ単体の単価が約12万円(2017年3月3日時点)ほどする製品と、RYZEN 7 1800Xの6万5000円とでは全くコストパフォーマンスが違う。この成績は、Bulldozerの悪夢を完全に払拭したと言っても良く、AMDの復活を待ち焦がれたユーザーにも、このところ性能向上が伸び悩んでいるIntelユーザーにも嬉しい結果だろう。
http://pc.watch.impress.co.jp/docs/topic/review/1047474.html
http://ascii.jp/elem/000/001/445/1445576/?topnew=3


<AVX命令が遅いのは何故か?>


これは、端的に言えば。今、拡張している部分(性能向上を支えている部分)のほとんどがAVXだからである。

それだと味気ないので、推論になるが理由を書く。

AMDは元々SSE5として提唱していたeXtended Operations(XOP)の概念を踏襲した128BitのSIMDアーキテクチャを内包してきた。もちろん、最終的にIntelと互換したAVXへ拡張されたが、Intelではサポートしていない(設計上、意図的にインテルと同じにならないように)部分があることは知られている。

そこにはIntelがAVXに搭載しなかったFMA4(Floating-point vector Multiply–Accumulat 4-operand)など、いくつかの機能が、前の世代であるBulldozer MAには存在していた。しかし、今回これらの仕様は基本的に排除されている。だから、本来はx86の性能が上がれば、同等以上になってもおかしくはない。

しかし、だからといってIntelと全く同じように実装することは、知的財産(ライセンス)などの問題もあるため、そんなことは出来ない。

では、何故x86の基本命令は互角以上かというと、基本的なx86/87(x86-64含む)命令の部分は、Intel64もAMD64も原則同じであるため、IntelでもAMDでも相手を上回る改良を施せば、性能は期待通りに上がっていく。AMDは今回それを行ったことで、Intelを基本性能で上回ったのだ。

それに対して、AVX部分はインテルが1.0→2.0→3.2(512)と拡張しているように、今拡張真っ盛りの部分である。ここは、行うことは同じだが実装仕様を共通化している訳では無い。そういった点を見ていけば、予測ができる。

今回最も影響を与えている可能性が高いのは、浮動小数点演算の仕組みだろう。(もちろんこれ以外にもいくつか理由がありそうだが)

Zenでは浮動小数点演算は128bit幅が4器ある。そのため、AVX2の256bit幅でのSIMD命令を発行するには、2つの演算器を使って処理する必要がある。ここが大きな違いで、IntelはHaswellで、AVX2をサポートしたときに256bit長に対応させていた。そのため、命令発行は1つの演算器(port)で1パスの処理が可能となる。
しかし、Zenでは2つの演算器で1つのパスを処理する必要がある。即ち、3つの演算器で128bit以下の命令長を処理している場合に、256bit長がやってくると、1つの演算器が空いていても、対となる別の128bit演算器での128bit処理が終わるのを待たなければならない。そういう滞留を減らさなければ、処理は遅くなる。
このような滞留を減らし処理を安定的に行うには、ソフトウェアをAMDの仕様に最適化する必要がある。

これは、長年Intelが強くAMDが弱っていた代償ともいえる。ソフトウェア制作者が使うコンパイラ側が、あらかじめAMDに最適化されてこなかったのだ。Intelなら次世代が出る前に、SDKを元にコンパイラも最適化されているケースが多い。

まあ、Cinebenchの結果から見るとコンパイラをハードウェアに最適化すれば、それなりに改善されると思われる。


また、今では当たり前に使われるSIMDといえどロングビットの命令は、一般的な利用においてベンチマーク並みに多く使われるものではない。一般的な用途においては、4K、H.265動画のエンコードなど、よほど常時決まった重い処理をする場合を除けば、Intelとの差はほとんど生じないと思われる。

最適化していなくても、ベンチマークでもインテルのE系プロセッサと大差が付くわけでもなく、むしろ値段の割に高速である。その辺りを考えると、AMDは十分インテルに追いつき、追い抜いたと言っても差し支えはない。


<この先にも期待できる>

もし、Zen Plus(Zen+)がこれを改善すれば、インテルが今のままのMAロードマップだと、結構苦しい戦いになる恐れは十分にある。Coffeelakeが間に出来たのは、Cannonlakeをそのまま出すと不味いと踏んだのは、たぶん間違いないだろう。逆に言えば、Cannonlakeを当初インテルが目指していた性能見込みより改良している可能性は高い。まあ、今からでは無理だが、今より半年〜1年前なら、小規模な改良であれば可能だろう。その時間をCoffeelakeで作ったのかもしれない。


ARM系がそろそろ面白くなくなっている今、x86が楽しみになったのは、嬉しい。AMDには来年予定のZen+でさらなる進化をして欲しいものだ。まあ、その前に、今のRYZENを安定的に供給し、下のラインを早期に拡充して欲しいと思う。それこそ、重要な課題である。特にモバイル向けは2コア止まりが多いのも、ZENの登場によって変わる可能性がある。




[CPUクーラーセット] AMD Ryzen 7 1800X+COOLER MASTER Hyper 212X+AM4マウントキット
パソコン工房 楽天市場店
Ryzen 7は内蔵GPU機能を持っておりません。マザーボード側に映像出力端子が搭載されている場合で


楽天市場 by [CPUクーラーセット] AMD Ryzen 7 1800X+COOLER MASTER Hyper 212X+AM4マウントキット の詳しい情報を見る / ウェブリブログ商品ポータル




AMD CPU Ryzen7 1800X AM4 YD180XBCAEWOF
AMD
2017-03-03

amazon.co.jpで買う
Amazonアソシエイト by AMD CPU Ryzen7 1800X AM4 YD180XBCAEWOF の詳しい情報を見る / ウェブリブログ商品ポータル


テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
RYZEN 7は既報通りの成績・・・・ベンチではAVXが多少弱いが、確実にお得。 なんとなく綴ってみた/BIGLOBEウェブリブログ
文字サイズ:       閉じる