From 7d58dd59b68cbe13e83ee787ab9165e989403bb6 Mon Sep 17 00:00:00 2001 From: Andrey Zaytsev Date: Fri, 11 Dec 2020 16:32:50 +0300 Subject: [PATCH] =?UTF-8?q?Added=20Intel=C2=AE=20Iris=C2=AE=20Xe=20Dedicat?= =?UTF-8?q?ed=20Graphics,=20naming=20convention=20info=20(#3523)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added Intel® Iris® Xe Dedicated Graphics, naming convention info * Added GPU.0 GPU.1 * added info about Intel® Iris® Xe MAX Graphics drivers --- docs/IE_DG/InferenceEngine_QueryAPI.md | 3 +- docs/IE_DG/supported_plugins/CL_DNN.md | 29 ++++++++++++++++--- docs/IE_DG/supported_plugins/MULTI.md | 8 +++-- .../installing-openvino-linux.md | 6 ++-- .../installing-openvino-windows.md | 4 ++- 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/docs/IE_DG/InferenceEngine_QueryAPI.md b/docs/IE_DG/InferenceEngine_QueryAPI.md index 788c2d58032..60497bbebdf 100644 --- a/docs/IE_DG/InferenceEngine_QueryAPI.md +++ b/docs/IE_DG/InferenceEngine_QueryAPI.md @@ -32,7 +32,8 @@ MYRIAD.1.4-ma2480 FPGA.0 FPGA.1 CPU -GPU +GPU.0 +GPU.1 ... ``` diff --git a/docs/IE_DG/supported_plugins/CL_DNN.md b/docs/IE_DG/supported_plugins/CL_DNN.md index a25012bf073..a8cfbc57912 100644 --- a/docs/IE_DG/supported_plugins/CL_DNN.md +++ b/docs/IE_DG/supported_plugins/CL_DNN.md @@ -1,9 +1,30 @@ GPU Plugin {#openvino_docs_IE_DG_supported_plugins_CL_DNN} ======= -The GPU plugin uses the Intel® Compute Library for Deep Neural Networks ([clDNN](https://01.org/cldnn)) to infer deep neural networks. -clDNN is an open source performance library for Deep Learning (DL) applications intended for acceleration of Deep Learning Inference on Intel® Processor Graphics including Intel® HD Graphics and Intel® Iris® Graphics. -For an in-depth description of clDNN, see: [clDNN sources](https://github.com/intel/clDNN) and [Accelerate Deep Learning Inference with Intel® Processor Graphics](https://software.intel.com/en-us/articles/accelerating-deep-learning-inference-with-intel-processor-graphics). +The GPU plugin uses the Intel® Compute Library for Deep Neural Networks (clDNN) to infer deep neural networks. +clDNN is an open source performance library for Deep Learning (DL) applications intended for acceleration of Deep Learning Inference on Intel® Processor Graphics including Intel® HD Graphics, Intel® Iris® Graphics, Intel® Iris® Xe Graphics, and Intel® Iris® Xe MAX graphics. +For an in-depth description of clDNN, see [Inference Engine source files](https://github.com/openvinotoolkit/openvino/tree/master/inference-engine/src/cldnn_engine) and [Accelerate Deep Learning Inference with Intel® Processor Graphics](https://software.intel.com/en-us/articles/accelerating-deep-learning-inference-with-intel-processor-graphics). + +## Device Naming Convention +* Devices are enumerated as "GPU.X" where `X={0, 1, 2,...}`. Only Intel® GPU devices are considered. +* If the system has an integrated GPU, it always has id=0 ("GPU.0"). +* Other GPUs have undefined order that depends on the GPU driver. +* "GPU" is an alias for "GPU.0" +* If the system doesn't have an integrated GPU, then devices are enumerated starting from 0. + +For demonstration purposes, see the [Hello Query Device C++ Sample](../../../inference-engine/samples/hello_query_device/README.md) that can print out the list of available devices with associated indices. Below is an example output (truncated to the device names only): + +```sh +./hello_query_device +Available devices: + Device: CPU +... + Device: GPU.0 +... + Device: GPU.1 +... + Device: HDDL +``` ## Optimizations @@ -92,7 +113,7 @@ When specifying key values as raw strings (that is, when using Python API), omit | `KEY_CLDNN_PLUGIN_THROTTLE` | `<0-3>` | `0` | OpenCL queue throttling (before usage, make sure your OpenCL driver supports appropriate extension)
Lower value means lower driver thread priority and longer sleep time for it. 0 disables the setting. | | `KEY_CLDNN_GRAPH_DUMPS_DIR` | `""` | `""` | clDNN graph optimizer stages dump output directory (in GraphViz format) | | `KEY_CLDNN_SOURCES_DUMPS_DIR` | `""` | `""` | Final optimized clDNN OpenCL sources dump output directory | -| `KEY_GPU_THROUGHPUT_STREAMS` | `KEY_GPU_THROUGHPUT_AUTO`, or positive integer| 1 | Specifies a number of GPU "execution" streams for the throughput mode (upper bound for a number of inference requests that can be executed simultaneously).
This option is can be used to decrease GPU stall time by providing more effective load from several streams. Increasing the number of streams usually is more effective for smaller topologies or smaller input sizes. Note that your application should provide enough parallel slack (e.g. running many inference requests) to leverage full GPU bandwidth. Additional streams consume several times more GPU memory, so make sure the system has enough memory available to suit parallel stream execution. Multiple streams might also put additional load on CPU. If CPU load increases, it can be regulated by setting an appropriate `KEY_CLDNN_PLUGIN_THROTTLE` option value (see above). If your target system has relatively weak CPU, keep throttling low.
The default value is 1, which implies latency-oriented behaviour.
`KEY_GPU_THROUGHPUT_AUTO` creates bare minimum of streams to improve the performance; this is the most portable option if you are not sure how many resources your target machine has (and what would be the optimal number of streams).
A positive integer value creates the requested number of streams. | +| `KEY_GPU_THROUGHPUT_STREAMS` | `KEY_GPU_THROUGHPUT_AUTO`, or positive integer| 1 | Specifies a number of GPU "execution" streams for the throughput mode (upper bound for a number of inference requests that can be executed simultaneously).
This option is can be used to decrease GPU stall time by providing more effective load from several streams. Increasing the number of streams usually is more effective for smaller topologies or smaller input sizes. Note that your application should provide enough parallel slack (e.g. running many inference requests) to leverage full GPU bandwidth. Additional streams consume several times more GPU memory, so make sure the system has enough memory available to suit parallel stream execution. Multiple streams might also put additional load on CPU. If CPU load increases, it can be regulated by setting an appropriate `KEY_CLDNN_PLUGIN_THROTTLE` option value (see above). If your target system has relatively weak CPU, keep throttling low.
The default value is 1, which implies latency-oriented behavior.
`KEY_GPU_THROUGHPUT_AUTO` creates bare minimum of streams to improve the performance; this is the most portable option if you are not sure how many resources your target machine has (and what would be the optimal number of streams).
A positive integer value creates the requested number of streams. | | `KEY_EXCLUSIVE_ASYNC_REQUESTS` | `YES` / `NO` | `NO` | Forces async requests (also from different executable networks) to execute serially.| ## Note on Debug Capabilities of the GPU Plugin diff --git a/docs/IE_DG/supported_plugins/MULTI.md b/docs/IE_DG/supported_plugins/MULTI.md index a3166c3de8e..a6b4aaefc9f 100644 --- a/docs/IE_DG/supported_plugins/MULTI.md +++ b/docs/IE_DG/supported_plugins/MULTI.md @@ -47,11 +47,13 @@ Inference Engine now features a dedicated API to enumerate devices and their cap ```sh ./hello_query_device Available devices: - Device: CPU + Device: CPU ... - Device: GPU + Device: GPU.0 ... - Device: HDDL + Device: GPU.1 +... + Device: HDDL ``` Simple programmatic way to enumerate the devices and use with the multi-device is as follows: diff --git a/docs/install_guides/installing-openvino-linux.md b/docs/install_guides/installing-openvino-linux.md index cc0af42e31d..9d5c39df874 100644 --- a/docs/install_guides/installing-openvino-linux.md +++ b/docs/install_guides/installing-openvino-linux.md @@ -336,11 +336,10 @@ cd /opt/intel/openvino_2021/install_dependencies/ ```sh sudo -E su ``` -3. Install the **Intel® Graphics Compute Runtime for OpenCL™** driver components required to use the GPU plugin and write custom layers for Intel® Integrated Graphics. Run the installation script: +3. Install the **Intel® Graphics Compute Runtime for OpenCL™** driver components required to use the GPU plugin and write custom layers for Intel® Integrated Graphics. The drivers are not included in the package, to install it, make sure you have the internet connection and run the installation script: ```sh ./install_NEO_OCL_driver.sh ``` - The drivers are not included in the package and the script downloads them. Make sure you have the internet connection for this step.
The script compares the driver version on the system to the current version. If the driver version on the system is higher or equal to the current version, the script does not install a new driver. If the version of the driver is lower than the current version, the script uninstalls the lower and installs the current version with your permission: ![](../img/NEO_check_agreement.png) @@ -348,7 +347,8 @@ not install a new driver. If the version of the driver is lower than the current ```sh Add OpenCL user to video group ``` - Ignore this suggestion and continue. + Ignore this suggestion and continue.
You can also find the most recent version of the driver, installation procedure and other information in the [https://github.com/intel/compute-runtime/](https://github.com/intel/compute-runtime/) repository. + 4. **Optional** Install header files to allow compiling a new code. You can find the header files at [Khronos OpenCL™ API Headers](https://github.com/KhronosGroup/OpenCL-Headers.git). ## Steps for Intel® Neural Compute Stick 2 diff --git a/docs/install_guides/installing-openvino-windows.md b/docs/install_guides/installing-openvino-windows.md index a928ac61e02..fff0fbb6c94 100644 --- a/docs/install_guides/installing-openvino-windows.md +++ b/docs/install_guides/installing-openvino-windows.md @@ -329,7 +329,7 @@ Use the optional steps below if you want to: > **NOTE**: These steps are required only if you want to use a GPU. -If your applications offload computation to Intel® Integrated Graphics, you must have the Intel Graphics Driver for Windows version 15.65 or higher. To see if you have this driver installed: +If your applications offload computation to **Intel® Integrated Graphics**, you must have the Intel Graphics Driver for Windows version 15.65 or higher. To see if you have this driver installed: 1. Type **device manager** in your **Search Windows** box. The **Device Manager** opens. @@ -345,6 +345,8 @@ If your applications offload computation to Intel® Integrated Graphics, you mus 5. If your device driver version is lower than 15.65, [download and install a higher version](http://downloadcenter.intel.com/product/80939/Graphics-Drivers). +To use the **Intel® Iris® Xe MAX Graphics**, install the driver manually. See the [Drivers & Software](https://downloadcenter.intel.com/download/29993/Intel-Iris-Xe-MAX-Dedicated-Graphics-Drivers?product=80939) page for driver downloads and installation instructions. + You are done updating your device driver and are ready to use your GPU.