Мечта бедного энтузиаста: собрать все железо в одну кучу
У тебя есть RTX 4090 с 24 ГБ. У друга пылится Radeon RX 7900 XTX с теми же 24 ГБ. В серверном шкафу на работе валяется Intel Arc A770 с 16 ГБ. И вот ты сидишь и думаешь: а что, если засунуть все это в один системник и запустить на них Llama 3.2 405B? Звучит как бред. Но это именно то, о чем мы сегодня будем говорить.
Гибридные сборки — это не магия. Это боль. Но иногда — необходимая боль, когда денег на четыре одинаковые карты нет, а VRAM нужна прямо сейчас.
Почему это вообще возможно в 2026 году
Еще пару лет назад идея запустить одну модель на картах от разных вендоров была утопией. CUDA и ROCm жили в параллельных вселенных. Но в 2025-2026 ситуация изменилась:
- MLC-LLM 2.0 — научился работать через Vulkan, который поддерживают все три производителя
- ONNX Runtime с поддержкой нескольких провайдеров в одной сессии
- Intel oneAPI и SYCL — попытка создать единый стандарт для гетерогенных вычислений
- Сообщество задолбалось платить за VRAM и начало выкручиваться
Но не обольщайся. Производительность будет ниже, чем на однородной системе. Иногда — значительно ниже. Мы говорим о 30-50% от потенциала железа. Но когда нужно просто загрузить модель, которая не помещается на одну карту, даже это — победа.
Три архитектуры — три подхода
| Подход | Как работает | Когда использовать | Головная боль |
|---|---|---|---|
| Виртуальный единый GPU | Софт видит одну карту с суммарной VRAM | Модель не помещается на одну карту | Скорость передачи между картами |
| Слои на разных GPU | Разные слои модели на разных картах | Инференс больших моделей | Балансировка нагрузки |
| Конвейерная обработка | Разные токены обрабатываются на разных GPU | Бачинг и высокий throughput | Сложность синхронизации |
1 Выбор железа: что с чем сочетается
Первое правило гибридной сборки: не все карты дружат между собой. Совместимость зависит не только от производителя, но и от архитектуры.
Рабочие комбинации (проверено на практике):
- Nvidia + Intel — самая стабильная связка. CUDA + oneAPI работают через OpenCL бэкенд
- Nvidia + AMD — только через Vulkan в MLC-LLM. ROCm+HIP с CUDA не дружат
- Все три вместе — технически возможно, но зачем тебе эта боль?
Важный момент: PCIe версии. Если у тебя карта с PCIe 4.0 и карта с PCIe 3.0 — система будет работать на скорости младшей. Проверь, поддерживает ли материнская плата такой микс. В моей предыдущей статье про бюджетную 4-GPU ферму я рассказывал про платформу X299 — она хорошо подходит для экспериментов.
2 Настройка системы: Linux и драйверы
Забудь про Windows. Серьезно. Поддержка нескольких разных GPU в Windows — это ад. Linux с ядром 6.10+ (на 2026 год) — наш выбор.
# Установка драйверов для гибридной системы
# Nvidia
sudo apt install nvidia-driver-560
# AMD (если нужен ROCm для других задач)
sudo apt install rocm-hip-sdk
# Intel
sudo apt install intel-opencl-icd intel-level-zero-gpu
Проверяем, что все видно:
lspci | grep -E "VGA|3D"
nvidia-smisudo dmesg | grep -i amd
sudo clinfo # для OpenCL устройств
Самый частый косяк: конфликт драйверов. Не ставь проприетарные драйвера AMD и Nvidia одновременно через .run файлы. Используй только репозитории дистрибутива.
3 Программные подходы: от простого к сложному
MLC-LLM с Vulkan бэкендом
Самый простой способ. MLC-LLM 2.3 (актуально на январь 2026) поддерживает Vulkan и может распределять вычисления между всеми картами, которые поддерживают Vulkan 1.2+.
# Установка
pip install mlc-llm-nightly
# Конвертация модели для Vulkan
mlc_llm convert llama3.2-405b \
--quantization q4f16 \
--target vulkan \
--output ./models/llama-vulkan
# Запуск с использованием всех GPU
mlc_llm generate ./models/llama-vulkan \
--device "vulkan:0,vulkan:1" \
--prompt "Explain quantum computing"
Плюсы: работает из коробки. Минусы: производительность ниже, чем у нативных решений. Нет тонкого контроля над распределением памяти.
ONNX Runtime с несколькими провайдерами
Более гибкий, но и более сложный подход. ONNX Runtime 1.18+ позволяет указать несколько execution providers.
import onnxruntime as ort
# Создаем сессию с несколькими провайдерами
providers = [
('CUDAExecutionProvider', {'device_id': 0}),
('OpenVINOExecutionProvider', {'device_type': 'GPU'}), # Для Intel
# Для AMD можно попробовать ROCM, но с CUDA не сработает
]
session = ort.InferenceSession(
"model.onnx",
providers=providers,
provider_options=[{"device_id": "0"}, {"device_id": "1"}]
)
Проблема в том, что модель должна быть разбита на части, которые могут выполняться независимо. Автоматического разбиения нет — нужно руками или через специальные инструменты.
Самописный пайплайн с RPC
Для хардкорных энтузиастов. Запускаем разные части модели на разных картах через межпроцессное взаимодействие.
Это подход, который я описывал в статье про контекст >128k на 2x RTX 3090, но расширенный для разных архитектур.
Реальные цифры: чего ожидать
Я тестировал связку RTX 4090 (24 ГБ) + Intel Arc A770 (16 ГБ) на модели Llama 3.1 70B в 4-битной квантовке.
| Конфигурация | Tokens/sec | Загрузка GPU | Потребление |
|---|---|---|---|
| Только RTX 4090 (часть модели в RAM) | 4.2 | 98% | 420W |
| RTX 4090 + Intel Arc (MLC-Vulkan) | 7.1 | 75%/60% | 650W |
| Две RTX 4090 (для сравнения) | 15.8 | 95%/95% | 800W |
Видишь разницу? Гибридная связка дает прирост, но далеко не линейный. Эффективность — около 45% от однородной системы. Зато модель целиком в VRAM — без свопа.
Типичные ошибки (как не надо делать)
- Смешивание PCIe версий без учета пропускной способности — если у тебя PCIe 4.0 x16 и PCIe 3.0 x4, вторая карта станет бутылочным горлом
- Недостаточное питание — гибридные системы жрут как не в себя. RTX 4090 (450W) + RX 7900 XTX (355W) = 805W только на GPU. Блок питания на 1000W — минимум
- Конфликт драйверов в Linux — никогда не устанавливай драйвера из .run файлов поверх драйверов из репозитория
- Ожидание чудес от NVLink — NVLink работает только между картами Nvidia. С AMD/Intel его нет и не будет
- Игнорирование охлаждения — разные карты имеют разное тепловыделение. Одна может греться до 80°C, другая — до 60°C, и это нормально
Когда это действительно нужно
Гибридные сборки — не для всех. Вот сценарии, где они оправданы:
- Уже есть железо — купил RTX 5090, а старая RX 6900 XT лежит без дела
- Эксперименты с разными архитектурами — сравниваешь производительность для статьи (как в моем случае)
- Критическая нехватка VRAM — нужно запустить модель СЕЙЧАС, а денег на еще одну карту нет
- Образовательные цели — хочешь понять, как работают гетерогенные вычисления
Если же ты собираешь систему с нуля — лучше возьми две одинаковые карты. Даже если это будут RTX 4070 Ti вместо RTX 4090 + что-то еще. Однородность важнее.
Что будет дальше: прогноз на 2027
К 2027 году ситуация может измениться. Вот что я вижу в кристальном шаре:
- Intel Battlemage — если они не свернут GPU направление, совместимость с CUDA улучшится
- AMD RDNA 4 — обещают лучшую поддержку AI через ROCm, но я уже слышал это в 2023
- Open стандарты — Vulkan Compute и SYCL могут стать единым интерфейсом
- Софтверные решения — появятся специализированные фреймворки для гибридных систем
Но пока что — это удел энтузиастов и тех, кто любит боль. Как и сборка multi-GPU серверов с 8 картами.
Последний совет: перед тем как покупать железо для гибридной системы, поищи тесты именно с твоей комбинацией карт. Часто оказывается, что проще продать старую карту и докупить такую же, как основная.
А если решишься — пиши в комментариях о результатах. Особенно если получится заставить работать Nvidia, AMD и Intel одновременно. Пришлю тебе виртуальную медаль «За страдания».