グループインテル GPU OpenCL 固有のプロパティー#

group ov_runtime_ocl_gpu_prop_cpp_api

インテル GPU OpenCL 固有のプロパティーの設定。

Typedef

using ThrottleLevel = ov::hint::Priority#

この列挙タイプは、ov::intel_gpu::hint::queue_throttle プロパティーで可能な値を表します:

  • LOW は CL_QUEUE_THROTTLE_LOW_KHR OpenCL スロットルヒントに使用されます

  • MEDIUM (デフォルト) は CL_QUEUE_THROTTLE_MED_KHR OpenCL スロットルヒントに使用されます

  • HIGH は CL_QUEUE_THROTTLE_HIGH_KHR OpenCL スロットルヒントに使用されます

変数

static constexpr Property<uint64_t, PropertyMutability::RO> device_total_mem_size = {"GPU_DEVICE_TOTAL_MEM_SIZE"}

デバイスで使用可能なメモリーのサイズをバイト単位で定義する read-only プロパティーです。iGPU の場合はホストメモリーのサイズを返し、dGPU の場合はディスクリート GPU メモリーのサイズを返します。

static constexpr Property<std::string, PropertyMutability::RO> uarch_version = {"GPU_UARCH_VERSION"}#

マイクロアーキテクチャー識別子を major.minor.revision 形式で取得する read-only プロパティー。

static constexpr Property<int32_t, PropertyMutability::RO> execution_units_count = {"GPU_EXECUTION_UNITS_COUNT"}#

現在の GPU の実行ユニットの数を取得する read-only プロパティー。

static constexpr Property<std::map<std::string, uint64_t>, PropertyMutability::RO> memory_statistics{"GPU_MEMORY_STATISTICS"}#

各割り当てタイプごとにエンジンによって割り当てられた GPU メモリーの統計情報を取得する read-only プロパティー。現在のメモリー使用量に関する情報が含まれています。

static constexpr Property<bool> enable_loop_unrolling = {"GPU_ENABLE_LOOP_UNROLLING"}#

このキーをオンにすると、TensorIterator や Loop などの再帰レイヤーを固定反復回数でアンロールできるようになります。このキーはデフォルトでオンになっています。このキーをオンにすると、反復回数がそれほど多くないループ (経験則では 16 未満) の推論パフォーマンスが向上します。このキーをオフにすると、反復回数が多い場合 (16 回を超える場合) のグラフの読み込み時間と推論時間の両方でパフォーマンスが向上します。このキーをオンにすると、反復回数に比例してグラフの読み込み時間が長くなることに注意してください。したがって、グラフの読み込み時間の最適化が最も重要であると考えられる場合は、このキーをオフにする必要があります。

static constexpr Property<bool> disable_winograd_convolution = {"GPU_DISABLE_WINOGRAD_CONVOLUTION"}#

このキーをオンにすると、winograd 畳み込みが無効になります。Winograd 畳み込みは、他の畳み込み実装と比較して、精度とパフォーマンスに関して異なる特性を持っています。

static constexpr Property<ThrottleLevel> queue_throttle = {"GPU_QUEUE_THROTTLE"}#

このキーは、https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf (英語) の 9.19 節で定義されている OpenCL キュー・スロットルのヒントを使用するように GPU プラグインに指示します。このオプションは、ov::intel_gpu::hint::ThrottleLevel 値とともに使用する必要があります。

static constexpr Property<ov::hint::Priority> queue_priority = {"GPU_QUEUE_PRIORITY"}#

このキーは、https://www.khronos.org/registry/OpenCL/specs/opencl-2.1-extensions.pdf で定義されている OpenCL キュー優先度ヒントを使用するように GPU プラグインに指示します。このオプションは、ov::hint::Priority 値とともに使用する必要があります:

  • LOW は CL_QUEUE_PRIORITY_LOW_KHR OpenCL 優先度ヒントに使用されます

  • MEDIUM (デフォルト) は CL_QUEUE_PRIORITY_MED_KHR OpenCL 優先度ヒントに使用されます

  • HIGH は CL_QUEUE_PRIORITY_HIGH_KHR OpenCL 優先度ヒントに使用されます

static constexpr Property<ov::hint::Priority> host_task_priority = {"GPU_HOST_TASK_PRIORITY"}#

このキーは、ロード・ネットワークで使用される TBB アフィニティーの CPU コアタイプを GPU プラグインに指示します。このオプションには 3 種類のレベルがあります: HIGH、LOW、および ANY。これはハイブリッド CPU にのみ影響します。

  • LOW - 利用可能な場合は LITTLE コアを使用するように GPU プラグインに指示します

  • MEDIUM (デフォルト) - GPU プラグインに利用可能なコア (BIG コアまたは LITTLE コア) を使用するように指示します

  • HIGH - 利用可能な場合は BIG コアを使用するように GPU プラグインに指示します

static constexpr Property<int64_t> available_device_mem = {"AVAILABLE_DEVICE_MEM_SIZE"}#

このキーは、使用可能なデバイスメモリーのサイズをバイト単位で識別します。

static constexpr Property<bool> enable_sdpa_optimization = {"GPU_ENABLE_SDPA_OPTIMIZATION"}#

このキーをオンにすると、SDPA 操作の分解が無効になり、グラフ内に SDPA 操作が保持されます。SDPA 最適化を有効にすると、パフォーマンスが向上し、メモリー使用量が削減される可能性があります。このキーは推奨事項として機能し、最適でないことが判明している場合には無視される可能性があります。

static constexpr auto surface = "GPU_SURFACE"#

ネイティブ・ビデオ・デコーダー・サーフェス。

static constexpr const auto HW_MATMUL = "GPU_HW_MATMUL"#

デバイスには行列乗算用のハードウェア・ブロックがあります。