コード分岐の指定

インテル® MKL は、サポートしている命令セット・アーキテクチャー (ISA) によって決定されるコード分岐のために、条件付きビット単位演算の再現性 (CBWR) モードを提供しています。次のいずれかの形式で、MKL_CBWR 環境変数に値を指定します。

<branch> は、CBWR 分岐を表します。値は次のいずれかになります。

説明

AUTO

CBWR モードは、次の機能を使用します。

  • インテル® プロセッサーの場合は標準 ISA ベースのディスパッチ・モデル (固定キャッシュサイズ、決定性のあるリダクション、スタティック・スケジューリングを保証)

  • その他の場合は COMPATIBLE に対応する分岐

CBWR モードは、次の ISA の分岐を使用します。

COMPATIBLE

インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2) (rcpps/rsqrtps 命令を除く)

SSE2

インテル® SSE2

SSE3

インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)

SSSE3

インテル® ストリーミング SIMD 拡張命令 3 補足命令 (インテル® SSSE3)

SSE4_1

インテル® ストリーミング SIMD 拡張命令 4-1 (インテル® SSE4-1)

SSE4_2

インテル® ストリーミング SIMD 拡張命令 4-2 (インテル® SSE4-2)

AVX

インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX)

AVX2

インテル® アドバンスト・ベクトル・エクステンション 2 (インテル® AVX2)

CBWR 分岐を指定するときは、次の点に注意してください。

MKL_CBWR 環境変数を設定するか、mkl_set_cbwr_branch 関数を呼び出すと、コード分岐が固定され、再現性モードが設定されます。

関数を使用した分岐の指定方法は、『インテル® MKL リファレンス・マニュアル』を参照してください。

最適化に関する注意事項

インテル® コンパイラーは、互換マイクロプロセッサー向けには、インテル製マイクロプロセッサー向けと同等レベルの最適化が行われない可能性があります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルでは、インテル製ではないマイクロプロセッサーに対して、最適化の提供、機能、効果を保証していません。本製品のマイクロプロセッサー固有の最適化は、インテル製マイクロプロセッサーでの使用を目的としています。インテル® マイクロアーキテクチャーに非固有の特定の最適化は、インテル製マイクロプロセッサー向けに予約されています。この注意事項の適用対象である特定の命令セットの詳細は、該当する製品のユーザー・リファレンス・ガイドを参照してください。

改訂 #20110804

関連情報


このヘルプトピックについてのフィードバックを送信