# Frequently Asked Questions 1. How to check whether GPU drivers are installed successfully? Run `import tensorflow` and it will show which platform you are running on: Intel Level-Zero(default) or Intel OpenCL. And the high level API of TensorFlow `tf.config.experimental.list_physical_devices()` will tell you the device types that are registered to TensorFlow core. ``` $ python >>> import tensorflow as tf 2021-07-01 06:40:55.510076: I itex/core/devices/gpu/dpcpp_runtime.cc:116] Selected platform: Intel(R) Level-Zero. >>> tf.config.experimental.list_physical_devices() [PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'), PhysicalDevice(name='/physical_device:XPU:0', device_type='XPU')] ``` 2. How to know the configurations and rate of utilization of local GPU devices? [System Monitoring Utility](https://github.com/intel/pti-gpu/tree/master/tools/sysmon) tool can be used to show the capability (clock frequency, EU count, amount of device memory, and so on) of your devices and usage of each sub-module (device memory, GPU engines, and so on). 3. What's the relationship of `TensorFlow*`, `Intel® Optimization of TensorFlow*` and `Intel® Extension for TensorFlow*`? `Intel® Optimization of TensorFlow*` is designed to optimize for Intel CPU. It could replace `stock TensorFlow*` (`Google TensorFlow*`) for Intel CPU. All Intel optimizations are available in both `Intel® Optimization for TensorFlow*` and `stock TensorFlow*` (since 2.9) for Intel CPU. That means you only need to install one of them. **DO NOT** install them in same time, the impact is unknown. `Intel® Extension for TensorFlow*` is an extension of `stock TensorFlow*` and help extend to accelerate on Intel CPU or support Intel GPU. `Intel® Extension for TensorFlow*` only co-works with `stock TensorFlow*`. Please **DO NOT** install Intel® Extension for TensorFlow* with Intel® Optimization for TensorFlow*. Starting in Q1 2024, Intel® Optimization for TensorFlow* will be discontinued. Intel optimization will be available only through `Intel® Extension for TensorFlow*` co-works with the `stock TensorFlow*`. Intel will continue to upstream advanced optimization to `stock TensorFlow*` in the future. Currently, Intel® Extension for TensorFlow* has two releases: CPU & GPU. For Intel CPU, `Intel® Extension for TensorFlow* for CPU` + `stock TensorFlow*` could replace `Intel® Optimization of TensorFlow*`. Install command: `pip install --upgrade intel-extension-for-tensorflow[cpu]`. For Intel GPU, `Intel® Extension for TensorFlow* for GPU` + `stock TensorFlow*` is only way to make TensorFlow* support Intel GPU. Install command: `pip install --upgrade intel-extension-for-tensorflow[gpu]`. ## Troubleshooting This section shows common problems and solutions for compilation and runtime issues you may encounter. ### Build from source | Error | Solution | Comments | | ------------------------------------------------------------ | ---------------------------- | -------------------------------------------------------- | | external/onednn/src/sycl/level_zero_utils.cpp:33:10: fatal error: 'level_zero/ze_api.h' file not found<br/>#include <level_zero/ze_api.h><br/> ^~~~~~~~~~~~~~~~~~~~~ | install `level-zero-dev` lib | `level-zero-dev` lib is needed when building from source | ### Runtime | Error | Solution | Comments | | ------------------------------------------------------------ | ------------------------------------- | ----------------------------------- | | ModuleNotFoundError: No module named 'tensorflow' | install TensorFlow | Intel® Extension for TensorFlow* depends on TensorFlow | | tensorflow.python.framework.errors_impl.NotFoundError: libmkl_sycl.so.2: cannot open shared object file: No such file or directory | `source /opt/intel/oneapi/setvars.sh` | set env vars of oneAPI Base Toolkit | | version GLIBCXX_3.4.30' not found | `conda install -c conda-forge gxx_linux-64==12.1.0` | install higher version glibcxx |