Minimum Hardware Requirements
Minimum CPU, memory, storage, and GPU capacity needed to run the BullSequana AI platform.
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
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
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 |
| AI 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
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 for the storage-class inputs.
GPU requirements
GPU capacity is workload-dependent. BullSequana AI supplies KServe vLLM runtime profiles for CPU and 1, 2, 4, or 8 NVIDIA GPUs. Select a profile only after checking the model's weight size, precision, context length, concurrency, and tensor-parallel requirements against the available hardware.
Speech and Docling run on CPU by default and can use optional GPU worker settings. A deployment therefore has no universal three-GPU minimum; the required count is the sum of the runtime profiles and accelerated services enabled for that site.
| Workload | GPU behavior |
|---|---|
| KServe vLLM | Selected runtime requests 1, 2, 4, or 8 NVIDIA GPUs; CPU profiles request none |
| Speaches speech service | CPU by default; optional CUDA mode requests one GPU |
| Docling | CPU by default; each configured GPU worker requests one GPU |
Keep enough CPU, RAM, local or persistent model cache, and scheduling headroom for every selected profile. A GPU with sufficient VRAM can still fail if its node lacks the host memory or ephemeral storage needed to start the model.
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 - a compatible NVIDIA driver and container runtime
- the
nvidiaruntime class and NVIDIA device plugin, supplied by the cluster owner or the optionalbsqai helm-apply gpu-operatorbootstrap
By default the platform uses preferred (soft) GPU affinity. Set common_enforce_affinity to true to make GPU placement a hard scheduling requirement.
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 | Site-specific; 0 for CPU-only, otherwise the sum of selected KServe and optional speech/Docling GPU workloads |