AMD documents: #47414 (Software Optimization Guide for AMD Family 15h Processors) [amd.com] & #26569 (AMD64 Architecture Programmer?s Manual Volume 5: 64-Bit Media and x87 Floating-Point Instructions) should explain how the x87 instructions are executed on 15h family. The latter one I cannot provide as it is confidential (?).
と、「confidential (?)」だから提供できないと書かれているドキュメント、検索したら support.amd.com に普通に PDF ファイルが置いてあるようなのですが…。
ベンチの為のパッチって意味があるのかな (スコア:1)
べっちマークの為のパッチはあまり意味が無いような気がします。それどころか利用者をだましているような気すらします。
どうなんでしょう?
Re: (スコア:1)
BIOSの一部を書き換えちゃうのか、BIOSの何かのスイッチ(起動時のBIOSセットアップ画面からいじれないなにか?)をON/OFFしてるだけなのか、OSに対するパッチとかなのか。
効果としてはx87命令を多用する任意のソフトウェアが高速化されそうに見える一方で、意味がないというツッコミも入ってるし。 今現在x87命令を多用するようなソフトはもうないから、実用上ほぼ無意味、ぐらいの事なのかな?
Re: (スコア:0)
Bulldozerアーキテクチャの特徴 [ascii.jp]として、2つのCPUコアでFPUを共有する構成になっているそうです。
SuperPIはシングルスレッドでFPUをぶん回すアプリなので、このFPUを共有する仕組みがオーバーヘッドになって性能が低下する、という理屈のようです。
件のパッチは、FPUを共有する片方のコアを停止させて、共有のオーバーヘッドをなくすという仕組みなのかな? だとすると、シングルスレッドで高FPU負荷なアプリであれば同様に性能が上がる一方で、マルチスレッドアプリでは逆に性能が低下するという結果になるんじゃないでしょうか。
Re: (スコア:2)
違います。スラッシュドット記事からもリンクされている hwbot.org フォーラムへの投稿 [hwbot.org]中で引用されている、パッチ(?)作者の The Stilt さんのコメントには次のように書かれています。
Re: (スコア:0)
「原因がなんだ」というのは書いてない様に見えますね…、CPUの(?)レジスタをいじったら速くなったと言っていますが、そのレジスタがなんであるかはAMDのドキュメントにない(仕様が非公開)なのでわからないらしいです。
非公開のレジスタをいじりまくって偶然発見した…のでしょうか?
Re:ベンチの為のパッチって意味があるのかな (スコア:2)
情報ありがとうございます。確かにそう書いてありますね。 (#2407576 を書いた時点ではいろいろ見間違えていたせいで理解できていませんでした。)
The Stilt さんのその後のコメントもちょっと読んでみました。このコメント [hwbot.org]には、「技術的な背景は調査中」としながら、「予想」として、デフォルトでは x87 命令の一つが無効化 (block) または部分的に無効化されていて、スーパーπではこの命令を多用するので、この命令を有効にすると速くなるということかも、と書いてあるように見えます。でも僕は意味がよくわかっていないので気になる人は原文を読んでください (投げた)。
僕の予想では、この命令を有効にすると CPU が賢くなりすぎて人間に対し反逆を企てることがわかったので、無効にして CPU を出荷したのだと思います。つまり The Stilt さんのせいで人類滅亡の危機…!
Re:ベンチの為のパッチって意味があるのかな (スコア:1)
一番の大本のスレッドはここですね。
http://www.xtremesystems.org/forums/showthread.php?286448-The-Book-of-... [xtremesystems.org]
ここでは、作者がAMDのconfidentialなドキュメントも参照していることが示唆されています。
(社内のドキュメントなのか、NDA下で契約先に開示されているドキュメントなのかは不明ですが…、Programmer's Guideだから社外向けのモノかな)
このレジスタはデフォルトでon(=blocked)になっていて旧来のBIOS他からは誰もoffにしにきていない、そのため特定のerrata修正で後天的にblockされたわけではなさそう(HWの工場出荷時の設定のまま動いている)…、などとは書かれていますが結局このblockされている機能が何なのかは書かれていないですね。
NDA下で契約先に開示されているドキュメント (スコア:0)
Microsoft か Sony の関係者なんだと思いますよ。
とりあえず言えるのはここまで。
Re:ベンチの為のパッチって意味があるのかな (スコア:2)
リンクありがとうございます。元の掲示板まで調べていませんでした。
ところで、紹介していただいた元掲示板での The Stilt さんのコメント [xtremesystems.org]で、
と、「confidential (?)」だから提供できないと書かれているドキュメント、検索したら support.amd.com に普通に PDF ファイルが置いてあるようなのですが…。
Re:ベンチの為のパッチって意味があるのかな (スコア:1)
そのことをそのまま連絡すれば反応が返ってくるのではないでしょうか?
Re:ベンチの為のパッチって意味があるのかな (スコア:2)
そうかもしれませんが、べつに反応が欲しいわけでもないので。 shibuya さん (でも誰でも) が連絡したければご自由にどうぞ。