AI & LLM Inference Appliances¶
The ai-infer-* flavors provide turnkey environments for high-throughput Large Language Model (LLM) and multimodal inference serving across all major hardware vendors: Generic CPU, Intel Arc/Battlemage, AMD ROCm, and NVIDIA Generational GPUs.
All appliances come pre-configured with Docker CE 29.8, vendor Container Device Interface (CDI) specifications, transparent hugepages, NUMA node binding, and standardized persistent cache paths.
The Multi-Vendor AI Matrix¶
| Flavor Name | Hardware Stack | Acceleration Runtime | Target Hardware | Container Pass-Through |
|---|---|---|---|---|
ai-infer-generic |
CPU High-Throughput | AMX, AVX-512, OpenMP | Multi-socket EPYC, Xeon, Threadripper | Docker CE (CPU isolation) |
ai-infer-intel |
Intel Xe / Arc / Xe2 | Level Zero, OpenCL, OpenVINO | Arc A770, Battlemage Xe2 (B580), Flex, Max | CDI (/etc/cdi/intel.yaml) |
ai-infer-amd |
AMD ROCm 7.2 | ROCm HIP, rocBLAS, MIOpen | Radeon RX 7900/8000, Instinct MI200/MI300 | CDI (/etc/cdi/amd.yaml) |
ai-infer-nvidia |
NVIDIA Mainstream | CUDA 13.2, TensorRT-LLM | RTX 20/30, A100, L4, RTX A6000 | CDI (/etc/cdi/nvidia.yaml) |
ai-infer-nvidia-modern |
NVIDIA Modern | CUDA 13.4, Ada / Hopper TE | RTX 4080/4090, L40, L40S, H100 PCIe | CDI (/etc/cdi/nvidia.yaml) |
ai-infer-nvidia-bleeding |
NVIDIA Bleeding | CUDA 13.4, Blackwell 2nd-gen TE | GeForce RTX 5090, B100, B200, GB200 NVL | CDI (/etc/cdi/nvidia.yaml) |
flowchart TD
%% Semantic class definitions with vibrant, high-contrast jewel palettes
classDef hw fill:#d97706,stroke:#b45309,stroke-width:2px,color:#ffffff
classDef kernel fill:#334155,stroke:#1e293b,stroke-width:2px,color:#ffffff
classDef cdi fill:#7c3aed,stroke:#6d28d9,stroke-width:2px,color:#ffffff
classDef engine fill:#e11d48,stroke:#be123c,stroke-width:2px,color:#ffffff
classDef api fill:#0284c7,stroke:#0369a1,stroke-width:2px,color:#ffffff
subgraph Hardware["1. Multi-Vendor Compute Hardware"]
CPU["High-Throughput CPU<br/><small>EPYC / Xeon (AMX, AVX-512)</small>"]:::hw
Intel["Intel Arc & Xe2<br/><small>Battlemage / Flex / Max</small>"]:::hw
AMD["AMD RDNA & Instinct<br/><small>RX 7900 / MI300</small>"]:::hw
Nvidia["NVIDIA Generational<br/><small>580 / 595 / 615 Blackwell</small>"]:::hw
end
subgraph KernelTuning["2. Appliance Kernel & Memory Optimizations"]
THP["transparent_hugepage=always<br/><small>Zero-Overhead Tensor Allocs</small>"]:::kernel
NUMA["numactl & OMP_PROC_BIND=spread<br/><small>Multi-Socket Memory Affinity</small>"]:::kernel
Limits["vm.max_map_count = 1048576<br/><small>High KV-Cache Capacity</small>"]:::kernel
end
subgraph RuntimeCDI["3. Container Runtime & CDI Routing"]
Docker["Docker CE 29.8 (CDI Enabled)"]:::cdi
CDI_Intel["/etc/cdi/intel.yaml"]:::cdi
CDI_AMD["/etc/cdi/amd.yaml"]:::cdi
CDI_Nvidia["/etc/cdi/nvidia.yaml"]:::cdi
end
subgraph Engines["4. Turnkey Inference Engines"]
VLLM["vLLM OpenAI Server<br/><small>Continuous Batching & PagedAttention</small>"]:::engine
Ollama["Ollama Runtime<br/><small>GGUF / Multi-Model Serving</small>"]:::engine
OpenVINO["OpenVINO Model Server<br/><small>Intel Xe / Battlemage Optimized</small>"]:::engine
end
subgraph Clients["5. Standardized Application APIs"]
API["OpenAI-Compatible HTTP API<br/><small>Port 8000 / 11434 (:v1/chat/completions)</small>"]:::api
end
Hardware --> KernelTuning
KernelTuning --> RuntimeCDI
RuntimeCDI --> Engines
Engines --> Clients
style Hardware fill:none,stroke:#d97706,stroke-width:2px,stroke-dasharray: 4 4
style KernelTuning fill:none,stroke:#334155,stroke-width:2px,stroke-dasharray: 4 4
style RuntimeCDI fill:none,stroke:#7c3aed,stroke-width:2px,stroke-dasharray: 4 4
style Engines fill:none,stroke:#e11d48,stroke-width:2px,stroke-dasharray: 4 4
style Clients fill:none,stroke:#0284c7,stroke-width:2px,stroke-dasharray: 4 4
Common System Optimizations¶
Every ai-infer-* image bakes in kernel and userspace low-latency optimizations:
- Transparent Hugepages & Memory Overcommit: Configured with
transparent_hugepage=alwayskernel cmdline,vm.overcommit_memory = 1, andvm.max_map_count = 1048576for zero-overhead tensor allocations. - NUMA Interleaving: Pre-installed
numactl,libnuma-dev, andlibgomp1withOMP_PROC_BIND=spreadandOMP_PLACES=threads. - Persistent Model Caches: Standardized cache directories pre-created at:
/var/lib/models/huggingface(export HF_HOME="/var/lib/models/huggingface")/var/lib/models/ollama(export OLLAMA_MODELS="/var/lib/models/ollama")/var/lib/models/vllm(export VLLM_CACHE_ROOT="/var/lib/models/vllm")- Docker CE 29.8: Pre-installed with native CDI feature flag (
features.cdi = true) andlive-restore: true.
Launching Inference Engines by Vendor¶
1. NVIDIA (Mainstream, Modern Ada/Hopper & Bleeding-Edge Blackwell)¶
Run high-throughput vLLM or Ollama using NVIDIA Container Toolkit or CDI:
docker run -d --name vllm \
--runtime nvidia --gpus all \
-v /var/lib/models/huggingface:/root/.cache/huggingface \
-p 8000:8000 --ipc=host \
vllm/vllm-openai:latest \
--model meta-llama/Llama-3.3-70B-Instruct
2. AMD ROCm 7.2 (Radeon & Instinct)¶
Deploy vLLM ROCm or Ollama with direct access to /dev/kfd and /dev/dri:
docker run -d --name vllm-rocm \
--device /dev/kfd --device /dev/dri \
--group-add render \
-v /var/lib/models/huggingface:/root/.cache/huggingface \
-p 8000:8000 --ipc=host \
rocm/vllm:latest \
--model mistralai/Mistral-7B-Instruct-v0.3
3. Intel Arc & Battlemage Xe2 (OpenVINO / IPEX-LLM)¶
Serve models with Intel Level Zero GPU compute via CDI or direct render node pass-through:
docker run -d --name vllm-openvino \
--device /dev/dri \
-v /var/lib/models/huggingface:/root/.cache/huggingface \
-p 8000:8000 --ipc=host \
openvino/model_server:latest \
--model_name llama3 --model_path /root/.cache/huggingface
4. Generic CPU (AVX-512 / AMX / NUMA)¶
Run multi-threaded CPU inference using llama.cpp server or vLLM-CPU:
docker run -d --name llama-cpp-cpu \
--cpuset-cpus "0-31" \
-v /var/lib/models/huggingface:/models \
-p 8080:8080 \
ghcr.io/ggerganov/llama.cpp:server \
-m /models/Llama-3.2-3B-Instruct-Q4_K_M.gguf -c 4096 --threads 32
Lazy-Pulling Snapshotter & HPC Sandboxing (stargz-snapshotter & enroot)¶
Following ADR-0010:
stargz-snapshotter: Pre-installed and registered as an opt-in proxy plugin in containerd ([proxy_plugins.stargz]), for on-demand block streaming of eStargz images pulled through containerd (ctr-remote image rpull,nerdctl --snapshotter=stargz). Docker pulls keep their own storage driver and are not affected.- NVIDIA
enroot: Pre-installed onai-infer-nvidia*andbase-nvidia-datacenterfor rootless, unprivileged user-space container sandboxing with native GPU driver integration.