# Which engine to use

Bumblebee support many engines with has specific features that can help you to process your data faster. Below is a table of features available in every engine, and a list of steps to select the engine that can help to process your data easily.

| Engine    | Out-of-Core | Cluster Support | CPU/GPU |
| --------- | ----------- | --------------- | ------- |
| Pandas    | No          | No              | CPU     |
| Dask      | Yes         | Yes             | CPU     |
| cuDF      | No          | No              | GPU     |
| Dask-cuDF | Yes         | Yes             | GPU     |
| Spark     | No          | Yes             | CPU/GPU |
| Vaex      | Yes         | No              | CPU     |
| Ibis      | Yes         | No              | CPU     |

Follow this steps to select the engine:

* Use pandas if your data fit comfortably in your local memory.
* Use cuDF if you have a GPU compatible with RAPIDS, and your data fits in memory.
* Use Vaex if your data do not fit in memory.
* Use a Dask/Dask-cuDF/Spark Cluster if you have one available.
* Use a service like Coiled to get a Dask/Dask-cuDF cluster on demand and pay for what you use.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hi-primus.gitbook.io/bumblebee/help/deciding-which-engine-to-use.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
