# Minimum Hardware Requirements (/docs/deployment/minimum-requirements)



This page defines the minimum hardware baseline for a full BullSequana AI platform deployment.

Treat this baseline as the practical floor for getting started with BullSequana AI. Scale beyond it as production usage grows.

Minimum Cluster Sizing [#minimum-cluster-sizing]

The complete platform is validated on the following cluster shape:

| Node pool | Nodes (min–max) | vCPU per node | RAM per node | Pool total (minimum) |
| --------- | --------------- | ------------- | ------------ | -------------------- |
| System    | 2               | 4             | 16 GiB       | 8 vCPU / 32 GiB      |
| Workers   | 7–10            | 8             | 32 GiB       | 56 vCPU / 224 GiB    |

That gives a cluster minimum of:

* **64 vCPU / 256 GiB RAM** at the minimum worker count (7 workers)
* **72 vCPU / 288 GiB RAM** at the typical initial worker count (8 workers)

Only the aggregate capacity and the per-node shape matter. Nodes with more vCPU and RAM per node are equally valid as long as the cluster totals are met and no single node is smaller than the worker shape above.

How The Platform Uses This Capacity [#how-the-platform-uses-this-capacity]

At steady state the platform reserves about 36 cores and 86 GiB of RAM, and can consume up to roughly 95 cores and 169 GiB under load:

| Platform layer         | CPU (steady state) | CPU (under load) | RAM (steady state) | RAM (under load) |
| ---------------------- | ------------------ | ---------------- | ------------------ | ---------------- |
| Cluster infrastructure | 9 cores            | 24 cores         | 28 GiB             | 43 GiB           |
| CoreAI serving         | 17 cores           | 55 cores         | 42 GiB             | 111 GiB          |
| Data and ML            | 11 cores           | 15 cores         | 16 GiB             | 16 GiB           |
| **Total**              | **\~36 cores**     | **\~95 cores**   | **\~86 GiB**       | **\~169 GiB**    |

The cluster minimum above is intentionally larger than the steady-state figures. The headroom covers load peaks, background jobs, rolling upgrades, and continued operation when a node is unavailable.

Storage [#storage]

The platform provisions roughly **1.2 TiB** of persistent storage:

| Consumer                  | Storage   |
| ------------------------- | --------- |
| Strimzi (Kafka)           | 300 GiB   |
| Rook-Ceph cluster backing | 260 GiB   |
| MLflow                    | 210 GiB   |
| Grafana                   | 100 GiB   |
| Milvus                    | \~97 GiB  |
| Other components          | \~200 GiB |

Plan at least **1.5–2 TiB of usable storage** to leave operational headroom. If Ceph replication is configured above a replication factor of 1, multiply the raw disk requirement accordingly.

The cluster must expose valid `RWO` and `RWX` storage classes before deployment. See [Prerequisites](/docs/deployment/prerequirements) for the storage-class inputs.

GPU Requirements [#gpu-requirements]

Every GPU workload in the platform requests exactly one full GPU per replica. The platform does not configure GPU slicing (no MIG or time-slicing), so each served model occupies a whole GPU.

The minimum GPU footprint for CoreAI inference is **3 GPUs**:

| Workload                    | Model                  | GPUs | Host resources per GPU                               |
| --------------------------- | ---------------------- | ---- | ---------------------------------------------------- |
| LLM serving (KubeAI / vLLM) | selected at runtime    | 1    | \~6 vCPU / 24–48 GiB depending on GPU class          |
| Speech-to-text (Speaches)   | whisper-large-v3-turbo | 1    | 1–4 vCPU / 2–8 GiB, plus a 10 GiB model-cache volume |
| Embedding (KubeAI)          | selected at runtime    | 1    | \~6 vCPU / 24 GiB                                    |

Sizing guidance:

* the speech-to-text and embedding models run comfortably on a T4 or L4 class card
* the LLM card should be sized to the largest model you intend to serve; an L40S or A100 80 GB class card covers mid-size models
* KubeAI ships resource profiles from T4 and RTX 4070 8 GB up to H200 and GH200, so larger cards are supported without configuration changes

An optional fourth GPU can be assigned to `Docling` for document processing. It defaults to CPU mode.

GPU node configuration [#gpu-node-configuration]

GPU scheduling is driven by node metadata, not by VM SKU. GPU nodes must provide:

* node label `workload=gpu`
* node taint `nvidia.com/gpu=present`
* the `nvidia` runtime class, with NVIDIA drivers and device plugin installed at cluster level

By default the platform uses preferred (soft) GPU affinity. Set `common_enforce_affinity` to `true` to make GPU placement a hard scheduling requirement.

Summary [#summary]

| Dimension | Minimum                                                                     |
| --------- | --------------------------------------------------------------------------- |
| CPU       | 64 vCPU across 9 nodes (72 vCPU recommended)                                |
| RAM       | 256 GiB (288 GiB recommended)                                               |
| Storage   | 1.5–2 TiB usable, with `RWO` and `RWX` storage classes                      |
| GPUs      | 3 × dedicated GPUs (LLM, speech-to-text, embedding), 1 optional for Docling |

Related Pages [#related-pages]

* [Prerequisites](/docs/deployment/prerequirements)
* [BullSequana Hardware](/docs/deployment/environments/bullsequana-hardware)
* [Before You Start](/docs/deployment/setup-context)
