Проверить:
bash uname -r grep -o 'amx[a-z_]*\|avx512[a-z_]*' /proc/cpuinfo | sort -u
Для настройки docker-compsoe стоит проверить на каких ядрах мы можем запустить без разделения
lscpu | grep -E "NUMA|Thread"
если сервер двухсокетный или включён SMT, нумерация ядер может идти вперемешку (например, 0–63 — физические ядра, 64–127 — их SMT-братья).
# Пример для сервера: 128 ядер, 1 ТБ RAM (ограничиваем до 500 ГБ)
services:
vllm-9b:
image: edwardfuchs/vllm:qwen3.5-9b-cpu
container_name: vllm-qwen35-9b
ports:
- "8000:8000"
environment:
VLLM_CPU_KVCACHE_SPACE: "64" # GiB под KV-кэш; при 500 ГБ можно и больше
VLLM_CPU_OMP_THREADS_BIND: "auto" # привязка OMP-потоков к ядрам
command: ["--max-model-len", "32768"]
# Топология сервера: 2 NUMA-ноды, SMT x2.
# node0: физ. ядра 0-31 (SMT-братья 64-95)
# node1: физ. ядра 32-63 (SMT-братья 96-127)
# 9B прижат к физическим ядрам node0: без межсокетного трафика и без SMT
# (SMT для инференса не помогает — упор в пропускную способность памяти).
# Для роста throughput поднимите второй такой же сервис на "32-63" (node1).
cpuset: "0-31"
mem_limit: 500g
shm_size: 16g
restart: unless-stopped
volumes:
- vllm-cache-9b:/root/.cache/vllm # кэш компиляции — быстрый рестарт
vllm-08b:
image: edwardfuchs/vllm:qwen3.5-0.8b-cpu
container_name: vllm-qwen35-08b
ports:
- "8001:8000"
environment:
VLLM_CPU_KVCACHE_SPACE: "16"
VLLM_CPU_OMP_THREADS_BIND: "auto"
cpuset: "32-39" # 8 физических ядер node1 — не пересекается с 9B на node0
mem_limit: 40g
shm_size: 4g
restart: unless-stopped
volumes:
- vllm-cache-08b:/root/.cache/vllm
volumes:
vllm-cache-9b:
vllm-cache-08b:
services:
vllm-9b:
image: edwardfuchs/vllm:qwen3.5-9b-cpu
container_name: vllm-qwen35-9b
ports:
- "8000:8000"
environment:
VLLM_CPU_KVCACHE_SPACE: "64" # на каждый TP-ранк
VLLM_CPU_OMP_THREADS_BIND: "0-31|32-63" # ранк 0 → node0, ранк 1 → node1
command: ["--max-model-len", "32768", "--tensor-parallel-size", "2"]
cpuset: "0-63" # все физические ядра, SMT по-прежнему не трогаем
mem_limit: 500g
shm_size: 32g # TP общается через shared memory — даём запас
restart: unless-stopped
volumes:
- vllm-cache-9b:/root/.cache/vllm
volumes:
vllm-cache-9b:
Content type
Image
Digest
sha256:92efc8fac…
Size
15.7 GB
Last updated
4 months ago
docker pull edwardfuchs/vllm:qwen3.5-9b-cpu