< 目次

SYCL*、OpenMP* target および OpenCL* アプリケーションを CPU にオフロードする環境設定

SYCL*、OpenMP* target を使用する C++/Fortran、または OpenCL* コードを含むターゲットデバイスへのオフロードを行うアプリケーションがある場合、インテル® Advisor を使用して、異なるターゲットデバイスでの潜在的なパフォーマンスを推測しモデル化することができます。

これを行うには、CPU オフロードのプロファイルでコードを一時的に CPU にオフロードし、オフロードのモデル化パースペクティブでコードのプロファイルとパフォーマンスのモデル化を実行します。

重要

SYCL*、OpenMP* target を使用する C++/Fortran、または OpenCL* コードを CPU にのみオフロードして、CPU から GPU へのオフロードのモデル化によって解析を行います。GPU - GPU 間のオフロードのモデル化、または GPU ルーフラインを使用して解析するには、GPU カーネルを解析できるようにシステムを構成します。

オペレーティング・システムに応じて、次の操作を行います。

Linux*

  1. SYCL* コード: CPU へのオフロードを強制するには、次のいずれかの方法で行います。
    • 推奨事項: 次のコマンドで環境変数 ONEAPI_DEVICE_SELECTOR を設定します。
      export ONEAPI_DEVICE_SELECTOR=opencl:cpu
    • アプリケーションが SYCL* デバイスセレクターを使用する場合:
      1. アプリケーションのソースコードに次の行を追加して、CPU をターゲットデバイスとして指定します。
        sycl::cpu_selector_v
      2. アプリケーションをリビルドします。
  2. OpenMP* コード: CPU へのオフロードを強制するには、次のいずれかの方法で行います。
    • 推奨事項: コードを CPU へオフロードするには、次の環境変数を設定します。
      export OMP_TARGET_OFFLOAD=MANDATORY
      export LIBOMPTARGET_DEVICETYPE=CPU
      export LIBOMPTARGET_PLUGIN=OPENCL
    • コードをネイティブに CPU で実行するには、次の環境変数を設定します。
      export OMP_TARGET_OFFLOAD=DISABLED
  3. アプリケーションが OpenCL* コードを使用する場合: コードを CPU にオフロードするように設定します。具体的な方法は、https://www.khronos.org/registry/OpenCL/ (英語) にあるドキュメントをご覧ください。

Windows*

  1. JIT プロファイル API を使用するには、次の環境変数を設定します。
    set INTEL_JIT_BACKWARD_COMPATIBILITY=1
  2. SYCL* コード: CPU へのオフロードを強制するには、次のいずれかの方法で行います。
    • 推奨事項: 次のコマンドで環境変数 ONEAPI_DEVICE_SELECTOR を設定します。
      set ONEAPI_DEVICE_SELECTOR=opencl:cpu
    • アプリケーションが SYCL* デバイスセレクターを使用する場合:
      1. アプリケーションのソースコードに次の行を追加して、CPU をターゲットデバイスとして指定します。
        sycl::cpu_selector_v
      2. アプリケーションをリビルドします。
  3. OpenMP* コード: CPU へのオフロードを強制するには、次のいずれかの方法で行います。
    • 推奨事項: コードを CPU へオフロードするには、次の環境変数を設定します。
      set OMP_TARGET_OFFLOAD=MANDATORY
      set LIBOMPTARGET_DEVICETYPE=CPU
      set LIBOMPTARGET_PLUGIN=OPENCL
    • コードをネイティブに CPU で実行するには、次の環境変数を設定します。
      set OMP_TARGET_OFFLOAD=DISABLED
  4. アプリケーションが OpenCL* コードを使用する場合: コードを CPU にオフロードするように設定します。具体的な方法は、https://www.khronos.org/registry/OpenCL/ (英語) にあるドキュメントをご覧ください。

次のステップ