Skip to content

Commit 2fdba34

Browse files
david-cortes-intelicfaustethanglaser
authored
DOC: Better explanations about GPGPU driver installations (#2464)
* more details about GPGPU drivers * advertise iGPU compat more visibly * Update doc/sources/oneapi-gpu.rst Co-authored-by: Ian Faust <icfaust@gmail.com> * Update doc/sources/oneapi-gpu.rst Co-authored-by: Ian Faust <icfaust@gmail.com> * add link to arch wiki and more details * reword compute-follows-data idea * reword 'gpgpu drivers' -> 'compute runtime' * Update doc/sources/oneapi-gpu.rst Co-authored-by: ethanglaser <42726565+ethanglaser@users.noreply.github.com> --------- Co-authored-by: Ian Faust <icfaust@gmail.com> Co-authored-by: ethanglaser <42726565+ethanglaser@users.noreply.github.com>
1 parent 1f15745 commit 2fdba34

File tree

4 files changed

+32
-9
lines changed

4 files changed

+32
-9
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ The software acceleration is achieved with vector instructions, AI hardware-spec
4747
With Extension for Scikit-learn, you can:
4848

4949
* Speed up training and inference by up to 100x with equivalent mathematical accuracy
50-
* Benefit from performance improvements across different CPU hardware configurations, including GPUs and multi-GPU configurations
50+
* Benefit from performance improvements across different hardware configurations, including [GPUs](https://uxlfoundation.github.io/scikit-learn-intelex/latest/oneapi-gpu.html) and [multi-GPU](https://uxlfoundation.github.io/scikit-learn-intelex/latest/distributed-mode.html) configurations
5151
* Integrate the extension into your existing Scikit-learn applications without code modifications
5252
* Continue to use the open-source scikit-learn API
5353
* Enable and disable the extension with a couple of lines of code or at the command line

doc/sources/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The software acceleration is achieved with vector instructions, AI hardware-spec
2929
Use |sklearnex|, to:
3030

3131
* Speed up training and inference by up to 100x with equivalent mathematical accuracy
32-
* Benefit from performance improvements across different x86-64 CPUs and Intel(R) GPUs
32+
* Benefit from performance improvements across different x86-64 CPUs and Intel(R) GPUs (including iGPUs)
3333
* Integrate the extension into your existing |sklearn| applications without code modifications
3434
* Enable and disable the extension with a couple of lines of code or at the command line
3535

doc/sources/oneapi-gpu.rst

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,21 @@
1919
oneAPI and GPU support in |sklearnex|
2020
##############################################################
2121

22-
|sklearnex| can execute computations on different devices (CPUs, GPUs) through the SYCL framework in oneAPI.
22+
|sklearnex| can execute computations on different devices (CPUs and GPUs, including integrated GPUs from laptops and desktops) through the SYCL framework in oneAPI.
2323

24-
The device used for computations can be easily controlled through the target offloading functionality (e.g. through ``sklearnex.config_context(target_offload="gpu")`` - see rest of this page for more details), but for finer-grained controlled (e.g. operating on arrays that are already in a given device's memory), it can also interact with objects from package |dpctl|, which offers a Python interface over SYCL concepts such as devices, queues, and USM (unified shared memory) arrays.
24+
The device used for computations can be easily controlled through the target offloading functionality (e.g. through ``sklearnex.config_context(target_offload="gpu")``, which moves data to GPU if it's not already there - see rest of this page for more details), but for finer-grained controlled (e.g. operating on arrays that are already in a given device's memory), it can also interact with objects from package |dpctl|, which offers a Python interface over SYCL concepts such as devices, queues, and USM (unified shared memory) arrays.
2525

26-
While not strictly required, package |dpctl| is recommended for a better experience on GPUs.
26+
While not strictly required, package |dpctl| is recommended for a better experience on GPUs - for example, it can provide GPU-allocated arrays that enable compute-follows-data execution models (i.e. so that ``target_offload`` wouldn't need to move the data from CPU to GPU).
2727

28-
.. important:: Be aware that GPU usage requires non-Python dependencies on your system, such as the `Intel(R) GPGPU Drivers <https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html>`_.
28+
.. important:: Be aware that GPU usage requires non-Python dependencies on your system, such as the `Intel(R) Compute Runtime <https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html>`_ (see below).
2929

3030
Prerequisites
3131
-------------
3232

33-
For execution on GPUs, DPC++ runtime and GPGPU drivers are required.
33+
For execution on GPUs, DPC++ runtime and Intel Compute Runtime (also referred to elsewhere as 'GPGPU drivers') are required.
34+
35+
DPC++ Runtime
36+
~~~~~~~~~~~~~
3437

3538
DPC++ compiler runtime can be installed either from PyPI or Conda:
3639

@@ -46,7 +49,27 @@ DPC++ compiler runtime can be installed either from PyPI or Conda:
4649

4750
conda install -c conda-forge dpcpp_cpp_rt
4851

49-
For GPGPU driver installation instructions, see the general `DPC++ system requirements <https://www.intel.com/content/www/us/en/developer/articles/system-requirements/intel-oneapi-dpcpp-system-requirements.html>`_ sections corresponding to your operating system.
52+
Intel Compute Runtime
53+
~~~~~~~~~~~~~~~~~~~~~
54+
55+
On Windows, GPU drivers for iGPUs and dGPUs include the required Intel Compute Runtime. Drivers for windows can be downloaded from `this link <https://www.intel.com/content/www/us/en/download/785597/intel-arc-iris-xe-graphics-windows.html>`__.
56+
57+
For datacenters, see further instructions `here <https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-dpcpp/2025.html#inpage-nav-2-1-1>`__.
58+
59+
60+
On Linux, some distributions - namely Ubuntu Desktop 25.04 and higher, and Fedora Workstation 42 and higher - come with the compute runtime for iGPUs and dGPUs preinstalled, while others require installing them separately.
61+
62+
Debian systems require installing package ``intel-opencl-icd`` (along with its dependencies such as ``intel-compute-runtime`` and ``intel-graphics-compiler``), which is available from Debian's ``main`` repository: ::
63+
64+
sudo apt-get install intel-opencl-icd
65+
66+
.. tip:: For Debian Trixie (13), the Intel Compute Runtime is not available from the Stable repository, but can be installed by enabling the Sid (Unstable) repository.
67+
68+
For Arch Linux, and for other distributions in general, see the `GPGPU article in the Arch wiki <https://wiki.archlinux.org/title/GPGPU>`__.
69+
70+
Be aware that datacenter-grade devices, such as 'Flex' and 'Max', require different drivers and runtimes. For CentOS and for datacenter-grade devices, see `instructions here <https://dgpu-docs.intel.com/driver/installation.html>`__.
71+
72+
For more details, see the `DPC++ requirements page <https://www.intel.com/content/www/us/en/developer/articles/system-requirements/oneapi-dpcpp/2025.html>`__.
5073

5174
Device offloading
5275
-----------------

doc/sources/quick-start.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ Software Requirements
337337
.. tab:: GPU
338338

339339
- A Linux* or Windows* version supported by DPC++ and oneMKL
340-
- Intel® GPGPU drivers
340+
- Intel® Compute Runtime (see :ref:`oneapi_gpu`)
341341
- DPC++ runtime libraries
342342

343343
.. important::

0 commit comments

Comments
 (0)