# AMD Strix Halo или NVIDIA RTX 4090: что выбрать для локальных LLM в 2026

> AI Release · @ai_release1 · https://ai-release.org/guides/amd-strix-halo-ili-nvidia-rtx-4090-chto-vybrat-dlya-lok.html

## TL;DR

- Выбор решает не «мощность», а объём памяти: у RTX 4090 — 24 ГБ GDDR6X, у Strix Halo (APU Ryzen AI Max с iGPU Radeon 8060S) — единый пул LPDDR5X до 128 ГБ, который делится между CPU и iGPU.
- Пропускная способность памяти у дискретной карты кратно выше, поэтому генерация токенов на моделях, которые влезают в 24 ГБ, быстрее на RTX 4090.
- Модели крупнее 24 ГБ (например, 70B в 4-битном кванте) на RTX 4090 в один GPU не запускаются — нужен больший пул, то есть Strix Halo.
- Время выполнения: 40–60 минут. Уровень сложности: Intermediate.
- Понадобится: Linux (для Strix Halo — Fedora 43 из нашего гайда), llama.cpp с бэкендом CUDA или HIP, либо Ollama; одна и та же GGUF-модель и одинаковый квант для обоих замеров.

## Требования и подготовка: что определяет выбор
![Иллюстрация к разделу «Требования и подготовка: что определяет выбор»](https://ai-release.org/guides/img/amd-strix-halo-ili-nvidia-rtx-4090-chto-vybrat-dlya-lok-ru-1.jpg?v=1792997310)


**Что сделать:** зафиксируйте три параметра вашей задачи — размер модели в файле, длину контекста и требуемую скорость генерации. Дальше сравнение сводится к арифметике «влезет / не влезет».

**Зачем:** локальный инференс (запуск модели на своём железе) упирается в память раньше, чем в вычисления. Модель целиком или её слои плюс KV-кэш (кэш внимания, растёт с длиной контекста) должны поместиться в доступный пул. Не хватило гигабайта — процесс падает с ошибкой, а не «работает медленнее».

**Как проверить:** сравните размеры файлов моделей с доступной памятью из таблицы ниже.

- ОС: Linux (Fedora 43 или Ubuntu) — основной сценарий; для RTX 4090 допустим Windows с CUDA-сборкой llama.cpp.
- Свободное место на диске: 2× размер GGUF-файла (модель + кэш сборки).
- Пакеты: `cmake`, `git`, компилятор; для CUDA — CUDA Toolkit, для AMD — ROCm с поддержкой вашей APU (матрицу поддержки сверьте с документацией ROCm).
- Одна и та же модель в одном и том же кванте на обеих машинах — иначе замеры несравнимы.

| Критерий | AMD Strix Halo (Ryzen AI Max + Radeon 8060S) | NVIDIA RTX 4090 |
|---|---|---|
| Память под модель | единый пул LPDDR5X, до 128 ГБ, делится с CPU | 24 ГБ GDDR6X, отдельная от системной RAM |
| Шина и пропускная способность | 256-бит, LPDDR5X-8000, ~256 ГБ/с | 384-бит GDDR6X, ~1008 ГБ/с |
| Софт-стек | ROCm/HIP, Vulkan, CPU-фолбэк | CUDA, cuBLAS, ядра FlashAttention |
| Форм-фактор | ноутбук или мини-ПК | дискретная карта в десктопе |
| Цена | сверьтесь с актуальным прайсом на конкретную SKU | сверьтесь с актуальным прайсом |

Цифры памяти и шины — по спецификациям производителей; для конкретной модели ноутбука конфигурацию памяти уточняйте в документации вендора.

**Пример:** файл `qwen3-14b-q4_k_m.gguf` занимает порядка 9 ГБ и с контекстом 8K комфортно живёт на обеих платформах, а `...-70b-q4_k_m.gguf` — примерно 40 ГБ, и это сразу отсекает RTX 4090.

## Шаг 1. Проверка доступной памяти под модель

**Что сделать:** измерьте реальный пул памяти, который GPU может занять, до запуска модели.

**Зачем:** у дискретной карты объём фиксирован, а у Strix Halo часть памяти забирает BIOS и ядро — «128 ГБ на коробке» не равно «128 ГБ под веса».

**Как проверить:** выполните команды для своей платформы и сверьте числа.

```bash
# Strix Halo, Linux
lscpu | grep -E "Model name|^CPU\(s\)"
free -h
cat /sys/class/drm/card0/device/mem_info_gtt_total
```

Ожидаемый результат: в первой строке — что-то вида `Model name: AMD Ryzen AI Max+ 395 w/ Radeon 8060S`; `free -h` покажет общий объём RAM; последняя команда вернёт число в байтах — верхнюю границу памяти, доступной iGPU (GTT). На многих машинах её поднимают параметром ядра `amdgpu.gttsize` или настройкой UMA frame buffer в BIOS — конкретные значения сверьте с документацией вашего вендора.

```bash
# RTX 4090, Linux или Windows (WSL)
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader
```

Ожидаемый результат: `NVIDIA GeForce RTX 4090, 24564 MiB, <версия драйвера>`. Почему это работает: `nvidia-smi` читает данные напрямую из драйвера, поэтому цифра совпадает с тем, что увидит CUDA-приложение.

**Пример:** если `mem_info_gtt_total` вернул около 32 ГБ, модель на 40 ГБ не загрузится — сначала поднимите лимит GTT.

## Шаг 2. Развёртывание сервера инференса и замер скорости
![Иллюстрация к разделу «Шаг 2. Развёртывание сервера инференса и замер скорости»](https://ai-release.org/guides/img/amd-strix-halo-ili-nvidia-rtx-4090-chto-vybrat-dlya-lok-ru-2.jpg?v=1792997321)


**Что сделать:** соберите llama.cpp под свой бэкенд, запустите модель и снимите два числа — скорость обработки промпта (`pp512`) и скорость генерации (`tg128`), токенов в секунду.

**Зачем:** это единственный способ сравнить платформы на ваших моделях: цифры из обзоров не учитывают ваш квант, контекст и версию драйвера.

**Как проверить:** `llama-bench` печатает таблицу с обеими строками.

```bash
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp

# RTX 4090
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j"$(nproc)"

# Strix Halo
cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1151
cmake --build build --config Release -j"$(nproc)"
```

Почему это работает: `-DGGML_CUDA=ON` включает вызовы cuBLAS, `-DGGML_HIP=ON` — HIP/rocBLAS; `-DAMDGPU_TARGETS=gfx1151` собирает ядра именно под iGPU Strix Halo, иначе можно получить ошибку о неподдерживаемой архитектуре. Точный список поддерживаемых целей сверьте с документацией ROCm для вашей версии.

```bash
./build/bin/llama-bench -m models/qwen3-14b-q4_k_m.gguf -ngl 99 -p 512 -n 128
```

Ожидаемый результат — две строки, `pp512` и `tg128`, со значениями в `t/s`. Флаг `-ngl 99` отправляет все слои на GPU (если памяти мало, часть останется на CPU и скорость упадёт). Запишите оба числа — они пойдут в таблицу приёмки.

**Пример:** тот же замер через Ollama, если не хотите собирать вручную:

```bash
ollama serve &
curl http://localhost:11434/api/generate \
  -d '{"model":"qwen3:14b","prompt":"Перечисли три способа квантования LLM","stream":false}'
```

В ответ придёт JSON с полем `response`. Имя тега модели сверьте с каталогом библиотеки Ollama. Пошаговая связка HALOGEN + Qwen в Fedora 43 разобрана в [отдельном гайде по Strix Halo](https://ai-release.org/guides/kak-zapustit-lokalnyy-llm-server-na-amd-strix-halo-halo.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

## Шаг 3. Приёмка результата
![Иллюстрация к разделу «Шаг 3. Приёмка результата»](https://ai-release.org/guides/img/amd-strix-halo-ili-nvidia-rtx-4090-chto-vybrat-dlya-lok-ru-3.jpg?v=1792997330)


**Что сделать:** заполните таблицу замеров на одной и той же модели и проверьте чек-лист.

**Зачем:** без одинаковых условий (модель, квант, контекст, версия бэкенда) сравнение превращается в случайные числа.

**Как проверить:** оба прогона завершились без ошибок, а ответ модели по смыслу совпал на обеих платформах.

| Что замерили | Strix Halo | RTX 4090 |
|---|---|---|
| `pp512`, t/s | | |
| `tg128`, t/s | | |
| Максимальный размер модели, ГБ | | |

- [ ] `nvidia-smi` или `mem_info_gtt_total` прочитаны, лимит памяти известен.
- [ ] Модель загрузилась целиком: в логе llama.cpp нет строк о выгрузке слоёв на CPU.
- [ ] `llama-bench` выдал обе строки, `tg128` больше нуля.
- [ ] Ответ на тестовый промпт получен и не оборван по длине контекста.
- [ ] Замеры сделаны дважды подряд — разброс между прогонами небольшой.

**Пример:** если `tg128` на Strix Halo заметно ниже, чем на RTX 4090, это ожидаемо: генерация токенов читает все веса модели из памяти на каждый токен, а пропускная способность LPDDR5X ниже, чем у GDDR6X. Если же модель на 40 ГБ на RTX 4090 вообще не стартовала — это ограничение объёма, а не скорости.

## Возможные проблемы и решения

**Проблема. Модель не помещается в память на RTX 4090**

- Ошибка: `torch.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.00 GiB. GPU 0 has a total capacity of 23.65 GiB of which 512.00 MiB is free.`
- Причина: веса плюс KV-кэш превысили 24 ГБ; помогает не «оптимизация», а уменьшение объёма.
- Решение: возьмите более компактный квант (`Q4_K_M` вместо `Q8_0`), уменьшите контекст и число слоёв на GPU:

```bash
./build/bin/llama-cli -m models/qwen3-14b-q4_k_m.gguf -ngl 99 -c 4096 -p "тест"
```

Если модель принципиально больше 24 ГБ, платформа меняется на Strix Halo.

**Проблема. Сборка под Strix Halo падает на этапе запуска**

- Ошибка: `rocblas error: Cannot read /opt/rocm/lib/rocblas/library/TensileLibrary.dat for GPU arch : gfx1151`
- Причина: установленная версия ROCm не содержит готовых ядер для вашей iGPU.
- Решение: обновите ROCm до версии с поддержкой нужной архитектуры (сверьтесь с матрицей поддержки ROCm) либо пересоберите llama.cpp явно под цель:

```bash
cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1151 && cmake --build build --config Release -j"$(nproc)"
```

**Проблема. Ollama отказывается грузить модель на Strix Halo**

- Ошибка: `Error: model requires more system memory (48.2 GiB) than is available (31.3 GiB)`
- Причина: лимит GTT/видеопамяти ниже размера модели, даже если физической RAM больше.
- Решение: поднимите лимит памяти для iGPU (параметр ядра `amdgpu.gttsize` или настройка в BIOS — сверьтесь с документацией вендора), закройте лишние процессы и перезапустите сервис:

```bash
sudo systemctl restart ollama && ollama run qwen3:14b
```

## Как выбрать

- **Берите RTX 4090**, если все ваши модели укладываются в 24 ГБ: вы получите максимальную скорость генерации и зрелый CUDA-стек без возни с драйверами. Это рабочая лошадка для 7B–14B в 4-битных квантах.
- **Берите Strix Halo**, если нужны модели крупнее 24 ГБ, компактный корпус или ноутбук: единый пул до 128 ГБ позволяет держать в памяти то, что на 4090 не стартует. Платите за это меньшей пропускной способностью и зависимостью от версии ROCm.
- **Если сомневаетесь** — сначала прогоните `llama-bench` на той модели, которую реально будете использовать. Ускорение от дискретной карты вы увидите только там, где модель уже помещается. Какую модель вообще стоит взять под свою задачу, разобрано в обзоре [лучших нейросетей и ИИ-моделей 2026](https://ai-release.org/guides/luchshie-nejroseti-i-modeli-2026.html?utm_source=tg&utm_medium=channel&utm_campaign=guide_inline&utm_content=guide_to_guide).

## Резюме и следующие шаги

Сравнение сводится к двум числам: сколько гигабайт нужно вашей модели и сколько токенов в секунду вы хотите видеть. Замерьте `pp512` и `tg128` на одной и той же GGUF-модели — и выбор перестанет быть спором о брендах.

## FAQ

**Поместится ли модель 70B в 24 ГБ на RTX 4090?**
В 4-битном кванте она занимает примерно 40 ГБ, поэтому в один GPU не влезает — нужен больший пул памяти, то есть платформа вроде Strix Halo.

**Обязательно ли нужна CUDA для локальных LLM?**
Нет. llama.cpp работает через CUDA, HIP/ROCm, Vulkan и на CPU; разница будет в скорости и в количестве поддерживаемых сборок. Для AMD основной путь на Linux — ROCm.

**Что важнее — объём памяти или пропускная способность?**
Объём решает, запустится ли модель вообще; пропускная способность определяет скорость генерации, потому что каждый новый токен требует чтения весов из памяти.

**Какой квант брать для сравнения платформ?**
Один и тот же на обеих машинах — например `Q4_K_M`: он даёт предсказуемый размер файла и корректное сравнение. Смешивать кванты в замерах нельзя.
