'xpu-verify' tool provides a comprehensive set of tests and automated fixes to help ensure that Intel discrete GPUs have been correctly set up on Linux systems. The tool supports various distributions, such as Ubuntu (20.04 and 22.04), RHEL, and Fedora.
- If you are starting from scratch and would like to setup intel dGPUs on Linux, checkout this repo.
- Ensure that the kernel, compute drivers, and other necessary components for Intel discrete GPUs have been set up according to the Intel GPU documentation.
- To run SYCL tests, install the
intel-oneapi-compiler-dpcpp-cpp
package, which includes the oneAPI compiler. For installation instructions on Ubuntu, refer to this link, and for RHEL, SUSE, and other similar systems, refer to this link. - To run AI tests, Docker is required.
Clone the Intel GPU sanity tests repository and navigate to the directory:
└❯ git clone https://github.com/unrahul/xpu_verify && cd xpu_verify
To check if the system is set up correctly for Intel discrete GPUs, run the script with the -c option:
└❯ ./xpu_verify.sh -c
To fix and augment the system setup with essential tools and libraries for Intel discrete GPUs, run the script with the -f option:
└❯ ./xpu_verify.sh -f
To check and fix the system setup for Intel discrete GPUs, run the script with the -p option:
└❯ ./xpu_verify.sh -p
To install specific AI packages with XPU support (e.g., openvino_xpu, pytorch_xpu, tensorflow_xpu, ai_xpu), run:
└❯ ./xpu_verify.sh -i pkg1, pkg2,...
The following tests can be performed:
This test checks if the Linux Kernel i915 module is loaded and the Graphics microcode for the GPU is loaded.
└❯ ./check_device.sh
└❯ ./check_os_kernel.sh
This test checks if the necessary intel compute drivers are installed.
└❯ ./check_compute_drivers.sh
This test verifies if sycl-ls can list the GPU devices for OpenCL and Level-Zero backends. The oneAPI basekit is required for this test.
└❯ ./syclls.sh --force
└❯ ./check_intel_basekit.sh
This test checks if sycl programs can be compiled using icpx. The oneAPI basekit is required for this test.
└❯ ./check_sycl.sh
└❯ ./scaling_governor.sh
This test checks if PyTorch and TensorFlow can detect the XPU device and run workloads using the device. Docker is required for this test.
For PyTorch:
└❯ ./check_pytorch.sh
For TensorFlow:
└❯ ./check_tensorflow.sh
Check if network proxy is setup, print the proxy, remove proxy settings and restore proxy settings:
└❯ ./proxy_helper.sh
Contributions to improve and expand the Intel GPU sanity tests are welcome. If you are interested in contributing, please consider the following areas:
-
Adding more tests: Continuously improving the coverage of tests is valuable. If you have a specific test or benchmark in mind that would help validate the Intel discrete GPU setup, feel free to create a new script and submit a pull request.
-
Bug fixes and improvements: If you find any bugs or areas where the existing tests can be improved, please report the issue or submit a pull request with your proposed changes.
-
Platform support: The goal is to support a wide range of Linux distributions and kernel versions. If you have experience with a specific distribution and would like to ensure the tests work correctly on it, your help would be appreciated.
-
Documentation: Clear and comprehensive documentation is essential for users to understand and effectively use the tool. If you find areas where the documentation can be improved or expanded, please submit your suggestions or create a pull request with your proposed changes.