インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド

インテル® パフォーマンス・ライブラリーの使用

インテル® C++ コンパイラーは、次のインテル® パフォーマンス・ライブラリーとともに利用できます。

プロパティー・ページで、選択したプロジェクト構成で使用するインテル® パフォーマンス・ライブラリーを指定します。プロジェクトの種類として、インテル® C++ と Microsoft* Visual C++* の両方がサポートされています。

インテル® IPP を指定するには、[Project (プロジェクト)] > [Properties (プロパティ)] を選択します。[Configuration Properties (構成プロパティ)][Intel Performance Libraries (インテル® パフォーマンス・ライブラリー)] を選択して、次の操作を行います。

  1. インテル® DAAL を使用するには、[Use Intel® DAAL (インテル® DAAL を使用する)] を次のように変更します。
    • [No (いいえ)]: インテル® DAAL ライブラリーの使用を無効にします。
    • [Use threaded Intel® Data Analytics Acceleration Library (スレッド化されたインテル® DAAL ライブラリーを使用する)]: スレッド化バージョンのライブラリーを使用してリンクします。
    • [Use non-threaded Intel® Data Analytics Acceleration Library (スレッド化されていないインテル® DAAL ライブラリーを使用する)]: スレッド化されていないバージョンのライブラリーを使用してリンクします。
  2. インテル® IPP を使用するには、[Use Intel IPP (インテル® IPP を使用する)] を次のように変更します。
    • [No (いいえ)]: インテル® IPP ライブラリーの使用を無効にします。
    • [Default Linking Method (デフォルトのリンク方法)]: [Code Generation (コード生成)] > [Runtime Library (ランタイム・ライブラリー)] プロパティーの設定に基づくインテル® IPP ライブラリーを使用します。
    • [Shared DLL (共有 DLL)]: インテル® IPP のマルチスレッド・ダイナミック・ライブラリーを使用します。
    • [Multi-threaded Static Library (マルチスレッド・スタティック・ライブラリー)]: インテル® IPP のマルチスレッド・スタティック・ライブラリーを使用します。
    • [Single-threaded Static Library (シングルスレッド・スタティック・ライブラリー)]: インテル® IPP のシングルスレッド・スタティック・ライブラリーを使用します。
  3. プロジェクトでインテル® TBB を使用するには、プロパティーを次のように変更します。
    • [No (いいえ)]: インテル® TBB ライブラリーの使用を無効にします。
    • [Use TBB (TBB を使用する)][Yes (はい)] に設定してインテル® TBB を使用します。

    • [Instrument for use with Intel® Threading Analysis Tools (インテル® スレッド化解析ツールで使用するインストルメント)][Yes (はい)] に設定して、プリプロセッサー定義 TBB_USE_THREADING_TOOLS をプロジェクト・プロパティーの [Preprocessor (プリプロセッサー)] > [Preprocessor Definitions (プリプロセッサーの定義)] に追加します。

      TBB_USE_THREADING_TOOLS 定義は、プロジェクト・プロパティーの [Code Generation (コード生成)] > [Runtime Library (ランタイム・ライブラリー)][Multi-threaded DLL (/MD) (マルチスレッド DLL (/MD))] に設定されている場合のみ追加されます。

  4. プロジェクトでインテル® MKL を使用するには、[Use Intel MKL (インテル® MKL を使用する)] プロパティーを次のように変更します。
    • [Parallel (並列)] - 並列のインテル® MKL ライブラリーを使用します。

    • [Sequential (シーケンシャル)] - シーケンシャルなインテル® MKL ライブラリーを使用します。

    • [Cluster (クラスター)] - インテル® MKL クラスター・ライブラリーを使用します。

    ターゲット・プラットフォームが x64 に設定されている場合は、[Use ILP64 interfaces (ILP64 インターフェイスを使用する)] が表示されます。これを選択すると、対応する ILP インテル® MKL ライブラリーがリンカーのコマンドラインに追加されます。また、MKL_ILP64 プリプロセッサー定義がコンパイラーのコマンドラインに追加されます。これを選択しない場合は、lp インテル® MKL ライブラリーが使用されます。

    各オプションのライブラリー・セットは、選択されたターゲット・プラットフォームとプロジェクト・プロパティーの [Code Generation (コード生成)] > [Runtime Library (ランタイム・ライブラリー)][Advanced (詳細)] > [Calling Convention (呼び出し規約)] の定義により異なります。

Microsoft* Visual C++* プラットフォーム・ツールセットで使用できるその他の設定は、[Tools (ツール)] > [Options (オプション)][Intel® Performance Libraries (パフォーマンス・ライブラリー)] カテゴリーで設定できます。

詳細は、インテル® IPP、インテル® TBB、インテル® MKL の各ドキュメントを参照してください。

最適化に関する注意事項

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

改訂 #20110804