# cuml.accel Overview

`cuml.accel` runs supported scikit-learn, UMAP, and HDBSCAN workloads on an
NVIDIA GPU without changing the Python code that uses those libraries. It is a
good fit when you want to accelerate an existing workflow, keep the familiar
APIs, or quickly evaluate the benefit of GPU acceleration before using cuML
directly.

Enable `cuml.accel` before importing the libraries you want to accelerate.
Your existing code then remains unchanged:

```python
from sklearn.datasets import make_classification
from sklearn.ensemble import RandomForestClassifier

X, y = make_classification(n_samples=100_000, random_state=0)
model = RandomForestClassifier().fit(X, y)
predictions = model.predict(X)
```

Run a script through the `cuml.accel` command-line interface:

```console
python -m cuml.accel script.py
```

Or load the extension at the top of a Jupyter notebook, before other imports:

```ipython
%load_ext cuml.accel
```

<a id="cuml-accel-jupyterlab-toggle"></a>

See [Activation Methods](usage/index.html.md#activation-methods) for a complete overview of the command-line,
Jupyter, environment-variable, and programmatic activation options.

`cuml.accel` transparently falls back to the original CPU implementation
when an estimator or operation cannot be accelerated. Fallback can depend on
parameters, input types, methods, or library versions, so existing workflows
continue to run even when only part of a pipeline is GPU accelerated. Use the
[logging and profiling tools](logging-and-profiling/index.html.md) to see exactly
where execution occurs.

We have validated `cuml.accel` against the complete scikit-learn example
gallery: every runnable example completes successfully with `cuml.accel`
enabled. This does not mean that every operation runs on the GPU. Unsupported
operations transparently fall back to the CPU. The result demonstrates broad
compatibility with realistic, complex scikit-learn workflows.

## Where to Go Next

* [Getting Started with cuml.accel](usage/index.html.md) explains activation, fallback, and memory management.
* [Accelerated Estimator Support](compatibility/index.html.md) lists the estimators that can be accelerated,
  including estimator-specific fallback conditions and behavioral differences.
* [Logging and Profiling](logging-and-profiling/index.html.md) explains how to identify which operations ran on
  the GPU and why others fell back to the CPU.
* [Performance and Speedups](benchmarks/index.html.md) provides representative performance results.
* [Examples](examples/index.html.md) contains complete examples and notebook workflows.
* [Frequently Asked Questions](faq/index.html.md) covers interoperability, serialization, and bug reporting.
