パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

AMDのCPU/APU向けスーパーπ高速化パッチが公開」記事へのコメント

  • 前にも同じようなことをnVidia(?)がやってませんでしたっけ・・・
    べっちマークの為のパッチはあまり意味が無いような気がします。それどころか利用者をだましているような気すらします。

    どうなんでしょう?
    • そもそも、何に対するパッチなのかが分かりにくい。タイトルを見てSuperπの実行ファイルに対するパッチなのかと思ったけど、どうもそうではなさそうだけど。

      BIOSの一部を書き換えちゃうのか、BIOSの何かのスイッチ(起動時のBIOSセットアップ画面からいじれないなにか?)をON/OFFしてるだけなのか、OSに対するパッチとかなのか。

      効果としてはx87命令を多用する任意のソフトウェアが高速化されそうに見える一方で、意味がないというツッコミも入ってるし。 今現在x87命令を多用するようなソフトはもうないから、実用上ほぼ無意味、ぐらいの事なのかな?
      • by Anonymous Coward

        Bulldozerアーキテクチャの特徴 [ascii.jp]として、2つのCPUコアでFPUを共有する構成になっているそうです。
        SuperPIはシングルスレッドでFPUをぶん回すアプリなので、このFPUを共有する仕組みがオーバーヘッドになって性能が低下する、という理屈のようです。
        件のパッチは、FPUを共有する片方のコアを停止させて、共有のオーバーヘッドをなくすという仕組みなのかな? だとすると、シングルスレッドで高FPU負荷なアプリであれば同様に性能が上がる一方で、マルチスレッドアプリでは逆に性能が低下するという結果になるんじゃないでしょうか。

        • SuperPIはシングルスレッドでFPUをぶん回すアプリなので、このFPUを共有する仕組みがオーバーヘッドになって性能が低下する、という理屈のようです。
          件のパッチは、FPUを共有する片方のコアを停止させて、共有のオーバーヘッドをなくすという仕組みなのかな?

          違います。スラッシュドット記事からもリンクされている hwbot.org フォーラムへの投稿 [hwbot.org]中で引用されている、パッチ(?)作者の The Stilt さんのコメントには次のように書かれています。

          So, why are all of the 15h (Bulldozer) based CPU/APU/NPUs performing so bad in SuperPI? Some people say it is because 15h family has 50% less FPs per core than the preceeding 10h family.
          In 15h family a compute unit (two cores) share a FP when the 10/12h family had a dedicated FP for each of the cores. If this would be the only reason, the issue would be solved when the "slave" core of the CU is disabled, leaving a "private" FP for the "master" (BSC) core. However this is not the case and it even shouldn't be as SuperPI is single threaded, remember?

          訳ではないけれど僕の理解できる範囲でまとめると:

          Bulldozer マイクロアーキテクチャーを使う CPU でスーパーπが遅くなる原因について、 Bulldozer では 2 個のコアで FPU を共有しているせいだと言う人もいる。それならコアの一つを停止すれば速度低下が起きなくなるはずだが、実際にはそんなことはない。また、もともとスーパーπはシングルスレッドプログラムなので、これが速度低下の原因になるとは理屈の上でも考えられない。

          でも速度低下の原因が何だと書いているのかは、僕の背景知識が足りなくて読み取れませんでした。

          親コメント
          • by Anonymous Coward

            「原因がなんだ」というのは書いてない様に見えますね…、CPUの(?)レジスタをいじったら速くなったと言っていますが、そのレジスタがなんであるかはAMDのドキュメントにない(仕様が非公開)なのでわからないらしいです。
            非公開のレジスタをいじりまくって偶然発見した…のでしょうか?

            • 「原因がなんだ」というのは書いてない様に見えますね…、CPUの(?)レジスタをいじったら速くなったと言っていますが、そのレジスタがなんであるかはAMDのドキュメントにない(仕様が非公開)なのでわからないらしいです。

              情報ありがとうございます。確かにそう書いてありますね。 (#2407576 を書いた時点ではいろいろ見間違えていたせいで理解できていませんでした。)

              The Stilt さんのその後のコメントもちょっと読んでみました。このコメント [hwbot.org]には、「技術的な背景は調査中」としながら、「予想」として、デフォルトでは x87 命令の一つが無効化 (block) または部分的に無効化されていて、スーパーπではこの命令を多用するので、この命令を有効にすると速くなるということかも、と書いてあるように見えます。でも僕は意味がよくわかっていないので気になる人は原文を読んでください (投げた)。

              僕の予想では、この命令を有効にすると CPU が賢くなりすぎて人間に対し反逆を企てることがわかったので、無効にして CPU を出荷したのだと思います。つまり The Stilt さんのせいで人類滅亡の危機…!

              親コメント
            • by Anonymous Coward

              非公開のレジスタを偶然いじって高速化できた、は流石に信じられないな
              知ってた以外に考えられない

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...