インテル® VTune™ プロファイラー・ユーザーガイド

SIMD アシスト

メトリックの説明

SIMD アシストは、MMX テクノロジーのコードが浮動小数点スタック内の MMX 状態を変更した後に、EMMS 命令が実行されると呼び出されます。EMMS 命令は、すべての MMX テクノロジー・プロシージャーやサブルーチンの終わりに、および MMX と x87 命令が混在する場合にパフォーマンス・ペナルティーを招く可能性がある x87 浮動小数点命令を実行するほかのプロシージャーやサブルーチンを呼び出す前に、MMX テクノロジーの状態をクリアします。SIMD アシストは、DAZ (Denormals Are Zeros) がオフ、または FTZ (Flush To Zero) フラグがオフで結果がアンダーフローする場合に、入力にデノーマル値を伴うインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) で必要となります。

考えられる問題

実行時間の大部分が SIMD アシストで費やされています。コンパイル時に DAZ (Denormals Are Zero) や FTZ (Flush To Zero) オプションを有効にして、デノーマル値をゼロにフラッシュします。デノーマル値がアプリケーションの動作に影響を与えない場合、このオプションでパフォーマンスが向上することがあります。DAZ と FTZ モードは IEEE 標準 754 と互換性がないことに注意してください。

関連情報