Extension for Scikit-learn* — Extension for Scikit-learn* 2025.10 documentation (original) (raw)
Extension for Scikit-learn* is a free software AI accelerator designed to deliver up to 100X faster performance for your existing scikit-learn code. The software acceleration is achieved with vector instructions, AI hardware-specific memory optimizations, threading, and optimizations.
Designed for Data Scientists and Framework Designers
Use Extension for Scikit-learn*, to:
- Speed up training and inference by up to 100x with equivalent mathematical accuracy
- Benefit from performance improvements across different x86-64 CPUs and Intel(R) GPUs (including iGPUs)
- Integrate the extension into your existing scikit-learn applications without code modifications
- Enable and disable the extension with a couple of lines of code or at the command line
These performance charts use benchmarks that you can find in the scikit-learn bench repository.
Supported Algorithms
See all of the Supported Algorithms.
Optimizations
Enable CPU Optimizations
import numpy as np from sklearnex import patch_sklearn patch_sklearn()
from sklearn.cluster import DBSCAN
X = np.array([[1., 2.], [2., 2.], [2., 3.], [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32) clustering = DBSCAN(eps=3, min_samples=2).fit(X)
Enable GPU optimizations
Note: executing on GPU has additional system software requirements - see GPU support.
import numpy as np from sklearnex import patch_sklearn, config_context patch_sklearn()
from sklearn.cluster import DBSCAN
X = np.array([[1., 2.], [2., 2.], [2., 3.], [8., 7.], [8., 8.], [25., 80.]], dtype=np.float32) with config_context(target_offload="gpu:0"): clustering = DBSCAN(eps=3, min_samples=2).fit(X)
See GPU support for other ways of executing on GPU.