Intel Sandybridge ファミリ CPU のパイプライン用プログラムの逆最適化
この割り当ての目標は、指定されたプログラムを変更して、それを実現することです。同じアルゴリズムを維持しながら、実行速度が遅くなります。これは、インテル i7 パイプラインがどのように動作するか、また命令パスがどのように並べ替えられて危険が生じるかをより深く理解するためのものです。
プログラムの概要
プログラムは次のとおりです。ヨーロッパの標準的なコールおよびプット オプションの価格を計算するモンテカルロ シミュレーション。 Box-Muller アルゴリズムを使用してガウス乱数を生成し、オプション価格を推定するために多数のシミュレーションを実行します。
悪魔のような無能
目的は、意図的にプログラムの実行を遅くする無能なコードを作成します。このアプローチを「悪魔のような無能さ」で正当化するいくつかのアイデアを次に示します。
フォールス シェアリング
ストア転送ストール
過剰な時間測定
好ましくない数学演算
非効率なベクトル化
データ構造
マルチスレッドの誤用
その他の提案
変更の影響
これらの変更は大幅な影響を受けることが予想されますパイプラインのストール、キャッシュミス、その他のパフォーマンスのボトルネックを引き起こし、プログラムの実行速度を低下させます。この課題は、創造性と、元のアルゴリズムを維持しながらコードを悲観化するさまざまな方法を探求する意欲を促進します。
以上がモンテカルロ シミュレーションを再最適化してインテル Sandybridge パイプラインのボトルネックを明らかにするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。