# Distributions

Spice.ai Enterprise runtime distributions for different workload requirements.

Spice.ai Enterprise provides multiple runtime distributions optimized for different workloads. All distributions are available in Enterprise; some are restricted or nightly-only in open source.

> **Note**
>
> The Spice runtime is **64-bit only**.

## Supported Platforms

| Platform | Architecture | Minimum CPU Features |
| - | - | - |
| Linux | x86\_64 | AVX2, FMA, BMI1/2, LZCNT, POPCNT |
| Linux | aarch64 (arm64) | NEON, FP16 (FEAT\_FP16), FHM (FEAT\_FHM) |
| macOS | aarch64 (Apple Silicon) | Native |

## Distribution Availability

| Distribution / Capability | Open Source | Spice Cloud | Enterprise |
| - | - | - | - |
| Default (Data + AI) | Yes | Yes | Yes |
| Data-only | Nightly only | Yes | Yes |
| NAS (SMB + NFS) | Nightly only | No | Yes |
| Metal (macOS) | Yes | Yes | Yes |
| CUDA (Linux) | Nightly only | Yes | Yes |
| Allocator variants | Nightly only | Yes | Yes |
| ODBC connector | Local build only | Yes | Yes |
| HTTP user-defined functions | Local build only | Yes | Yes |
| WASM user-defined functions | Local build only | Yes | Yes |

Inline SQL user-defined functions (`from: sql`) are available in every distribution. The HTTP and WebAssembly tiers are shipped pre-built in Cloud and Enterprise distributions; open source users can enable them by building locally with the `http-functions` and `wasm-functions` cargo features. See [User-Defined Functions](https://spice.ai/docs/enterprise/features/functions) for the full reference.

## Default Distribution

Includes all standard data connectors, embedded data accelerators (Spice Cayenne, DuckDB, SQLite), AI/ML model inference (LLMs, embeddings), and search capabilities (vector and BM-25 full-text search). From `2.4.0`, the default Enterprise Linux binaries and the `<version>-enterprise` and `<version>-enterprise-models` images link jemalloc. See [Allocator Variants](https://spice.ai/docs/enterprise/getting-started/distributions#allocator-variants) to run against a different one.

## Data-Only Distribution

Excludes AI/ML model support. Provides a smaller binary size and reduced attack surface for workloads that only need data federation and acceleration.

## NAS Distribution

Adds SMB and NFS data connector support. **Enterprise-only for production use.**

## GPU-Accelerated Distributions

### Metal (macOS)

GPU-accelerated AI/ML inference on Apple Silicon.

### CUDA (Linux)

CUDA GPU-accelerated model inference. Supported compute capabilities:

| Compute Capability | GPUs |
| - | - |
| 80 | A100, A30 |
| 86 | RTX 30xx, A40, A10 |
| 87 | Jetson Orin |
| 89 | RTX 40xx, L40, L4 |
| 90 | H100, H200 |

The AWS Marketplace ECR registry does not carry a CUDA image; it publishes the Default, models, and allocator variants (see [Docker](https://spice.ai/docs/enterprise/deployment/docker)). [Contact us](https://spice.ai/contact) for a CUDA-enabled Enterprise deployment.

## Allocator Variants

Different memory allocators can significantly impact performance depending on workload characteristics.

The allocator is selected when the runtime is built, and a build links exactly one. The startup line of `spiced` names it, for example `(allocator: jemalloc)`.

| Release | Default and models images | Allocator variant image |
| - | - | - |
| `2.4.0` and later | jemalloc | `-sysalloc`: the system allocator |
| `2.2.1` to `2.3.x` | The system allocator | `-jemalloc`: jemalloc |

[Contact us](https://spice.ai/contact) about an snmalloc or mimalloc build.

### snmalloc

Optimized for concurrent workloads.

### jemalloc

Allocator that may perform better for certain memory allocation patterns. From `2.4.0`, the `<version>-enterprise` and `<version>-enterprise-models` images link jemalloc. For `2.2.1` to `2.3.x`, the Marketplace images with the `-jemalloc` suffix carry it:

```bash
docker pull 709825985650.dkr.ecr.us-east-1.amazonaws.com/spice-ai/spiceai-enterprise-byol:2.3.5-enterprise-jemalloc
```

### mimalloc

Microsoft's mimalloc allocator, designed for performance and security.

### System Allocator

Uses the system's default allocator (glibc malloc on Linux). From `2.4.0`, Marketplace images with the `-sysalloc` suffix carry it:

```bash
docker pull 709825985650.dkr.ecr.us-east-1.amazonaws.com/spice-ai/spiceai-enterprise-byol:2.4.1-enterprise-sysalloc
```

For `2.2.1` to `2.3.x`, the `<version>-enterprise` and `<version>-enterprise-models` images link it.

## Choosing a Distribution

| Use Case | Recommended Distribution |
| - | - |
| General purpose with AI capabilities | Default |
| Data federation only, minimal footprint | Data-only |
| Network attached storage (SMB/NFS) | NAS |
| macOS with GPU acceleration | Metal |
| Linux with NVIDIA GPU | CUDA |
| Memory allocation tuning | Allocator variants |
