Перейти к содержанию
Публикация AiManual

Одна RTX 5060 Ti 16 ГБ или две: стоит ли объединять GPU для локальных LLM и ComfyUI

Разбираем, стоит ли добавлять вторую RTX 5060 Ti 16 ГБ или объединять её с RTX 3080 для LLM и ComfyUI: как в реальности работают P2P и SHM, почему VRAM не склад

Коротко

Что будет в материале

  1. 01

    Короткий ответ: когда вторая карта помогает, а когда нет

  2. 02

    Почему VRAM не складывается: P2P, SHM и роль PCI-E

  3. 03

    Multi-GPU для локальных LLM: когда вторая карта даёт прирост

  4. 04

    Multi-GPU для ComfyUI: почему здесь всё иначе

Короткий ответ: когда вторая карта помогает, а когда нет

Если модель целиком помещается в 16 ГБ одной RTX 5060 Ti, вторая карта одиночный инференс не ускорит. Прирост появляется в двух ситуациях: модель не влезает в 16 ГБ и вы явно раскладываете её на два GPU, либо одна карта перестаёт успевать обслуживать поток запросов и батчей. В ComfyUI логика третья: автоматического разбиения одной генерации между картами нет, поэтому вторая карта полезна для параллельных пайплайнов или выноса отдельных моделей.

Связка RTX 5060 Ti 16 ГБ плюс RTX 3080 10 ГБ технически рабочая, но это самый неудобный из трёх вариантов. Разный объём памяти (16 и 10 ГБ) ломает симметричное распределение, P2P у потребительских карт отсутствует, обмен идёт через оперативную память хоста. Именно так вопрос ставит пользователь, который перешёл с RTX 3080 10 ГБ на RTX 5060 Ti 16 ГБ, держит 128 ГБ DDR5 и решает, брать ли вторую такую же карту или объединить новую с прежней (обсуждение на r/LocalLLaMA).

По блоку питания 850 Вт расклад простой: две одинаковые RTX 5060 Ti укладываются в него с хорошим запасом, а пара 5060 Ti плюс 3080 подходит к пределу ближе. Если 3080 продаётся именно из-за БП, вторая 5060 Ti закрывает вопрос без замены блока.

Почему VRAM не складывается: P2P, SHM и роль PCI-E

Две карты по 16 ГБ не превращаются в единый пул на 32 ГБ. Синхронизация памяти и кэшей между GPU обязательна, и вариантов обмена всего два: напрямую или через оперативную память хоста. Какой из них достанется сборке, определяют железо и драйверы, а не суммарный объём VRAM.

Главная ценность второй карты - дополнительный объём памяти под веса и KV-кэш. Скорость генерации одиночного ответа от этого почти не растёт, потому что активации всё равно приходится передавать между GPU на каждом слое.

Что такое P2P и почему его нет на потребительских RTX

P2P через PCI-E означает, что карты пишут и читают память друг друга напрямую, без участия CPU. Ограничение здесь одно: скорость самой шины. Со стороны железа и драйверов нужна поддержка, и у потребительских RTX-карт её нет. У Radeon RDNA (9070XT, R9700) P2P тоже отсутствует, а у RTX PRO он включён на уровне драйвера. На обычных RTX его пробуют включать программным путём, но стабильность такого решения остаётся открытым вопросом (разбор инженерных деталей multi-GPU).

Отсюда следствие для планирования сборки: одинаковые по железу RTX всегда медленнее аналогичных RTX PRO, если работают больше одной штуки. И RTX 5060 Ti, и RTX 3080 в эту схему не попадают, поэтому ждать поведения уровня рабочей станции не стоит.

SHM: обмен через оперативную память и его узкое место

Без P2P остаётся SHM (staging host RAM): промежуточные данные идут через оперативную память хоста. Схема работает на любом железе, поэтому она реальна и для 5060 Ti, и для 3080, но упирается в пропускную способность памяти и в CPU. Потери зависят от платформы. Автор разбора описывает это так: на машине без P2P процессор загружен постоянно, а память активно работает на чтение-запись во время инференса, тогда как на RTX PRO CPU простаивает вне вычислений (наблюдения по системе без P2P).

Горлышко развязывает платформа: Threadripper или Xeon с 8 каналами памяти снимают ограничение по скорости системной памяти и дают полную ширину PCI-E. Для карт без P2P это меняет картину заметно, но цена такой платформы несопоставима с ценой второй RTX 5060 Ti. Конфигурация с 128 ГБ DDR5 на потребительской платформе работает в двухканальном режиме: объём памяти большой, а каналов мало. Каналы, а не гигабайты, определяют, насколько дорого обойдётся SHM.

Multi-GPU для локальных LLM: когда вторая карта даёт прирост

Для LLM вторая карта помогает только при явном распараллеливании. Подходов два: разложить слои модели между GPU и разделить веса внутри одной операции. В vLLM это включается параметром --tensor-parallel-size 2, в llama.cpp есть --split-mode layer и ручное распределение слоёв через -ts. Оба варианта требуют настройки под конкретную модель и контекст.

Сценарии, где вторая карта реально помогает

  • Модели класса 30B и выше в 4-битной квантизации, которые не помещаются в 16 ГБ вместе с контекстом. Ориентир для прикидки: 4-битные веса занимают примерно 0,5-0,6 ГБ на миллиард параметров, плюс KV-кэш, буферы и оверхед рантайма.
  • Батчинг и параллельные запросы: две карты обслуживают разные запросы независимо, если рантайм умеет распределять нагрузку. Выигрыш идёт по пропускной способности, а не по скорости одного ответа.
  • Вынос отдельных компонентов: embedding-модель, реранкер или вторая модель живут на отдельной карте и не отбирают VRAM у основной.

Общий признак всех трёх случаев: задача делится на независимые или явно разносимые части. Из коробки такое не работает.

Когда вторая карта для LLM бесполезна

Если модель помещается в 16 ГБ одной карты, вторая простаивает: инференс идёт на одной, а вторая только потребляет питание и занимает слот. При обмене через SHM случается и минус: часть времени уходит на перекачку активаций через RAM, и связка из двух карт может выдать меньше, а не больше одиночной. Проверять это нужно на своих моделях и своих настройках сплита.

Отдельная деталь про CPU: автор разбора отмечает, что под нагрузкой vLLM грузит процессор даже на RTX PRO, а на картах без P2P он занят и вне вычислений (разбор нагрузки на CPU при инференсе). Для двух 5060 Ti это означает, что заметная часть бюджета времени уходит на передачу данных между картами, и рост скорости не пропорционален числу GPU.

Про то, как это выглядит на паре одинаковых RTX 5060 Ti и почему утилизация не доходит до 100%, есть отдельный разбор: почему две RTX 5060 Ti не дают 100% загрузки при инференсе LLM.

Комбинация 5060 Ti и 3080 в LLM-сценарии добавляет ещё один минус: 16 и 10 ГБ нужно делить так, чтобы не переполнить слабую карту. Большая часть слоёв ложится на 5060 Ti, симметрии нет, и настройка усложняется.

Multi-GPU для ComfyUI: почему здесь всё иначе

ComfyUI выполняет граф узлов последовательно и не разбивает одну генерацию на два GPU. Штатного планировщика, который автоматически разложит один пайплайн по картам, нет.

Как ComfyUI работает с несколькими GPU

На практике вариантов три: выбрать устройство для конкретной модели, запустить два экземпляра ComfyUI на разных GPU или поставить кастомные ноды с управлением устройством. Все три требуют ручной настройки. Добавьте менеджер памяти ComfyUI: тяжёлые модели выгружаются и подгружаются между узлами. На двух картах два разных чекпойнта могут держаться в VRAM одновременно, и переключение между ними перестаёт бить по времени.

Практические сценарии для двух карт в ComfyUI

  • Параллельная работа: на одной карте идёт поток изображений, на второй - видео или апскейл большими батчами.
  • Вынос отдельной модели: основной генератор на 5060 Ti, а тяжёлый апскейлер или интерполяция кадров на второй карте.
  • Эксперименты: два пайплайна с разными моделями и seed-ами одновременно, без ожидания очереди.

Если рабочая задача одна, вторая карта в это время простаивает. Ускорения отдельной генерации не будет, потому что делить её между GPU ComfyUI не умеет. Вторая карта покупается под конкретную роль.

RTX 5060 Ti + RTX 3080: совместимость и подводные камни

  • Объём VRAM: 16 и 10 ГБ. Разложить модель пропорционально сложнее, чем на двух одинаковых картах, слои придётся распределять вручную с запасом на слабейшую карту.
  • Архитектуры: Blackwell и Ampere. Драйверы NVIDIA обычно покрывают несколько поколений одним пакетом, но смешанные сборки чаще ловят нестандартные ситуации, чем однородные. Проверять нужно на своей ОС и своём рантайме.
  • Обмен: P2P нет ни у одной из карт, значит SHM, нагрузка на CPU и системную память.
  • Производительность: для слоёв, вынесенных на 3080, лимитом станет вместимость памяти, а не скорость вычислений.

Симметричная пара 5060 Ti предсказуемее: одинаковый объём, одинаковые лимиты, одно распределение. Логика та же, что и в разборах смешанных связок: RTX 2000 Ada 16 ГБ плюс RTX 4070 Super и две RTX 3080 20 ГБ против одной RTX 3090. Чем меньше дисбаланс между картами, тем проще раскладывать модель и тем меньше ручной работы при каждом обновлении модели или контекста.

Блок питания 850 Вт: хватит ли на две карты

Ориентир по потреблению самих карт (по спецификациям производителя; у партнёрских версий с заводским разгоном цифры выше, сверяйтесь со страницей конкретной модели): RTX 5060 Ti 16 ГБ - порядка 180 Вт, RTX 3080 10 ГБ - порядка 320 Вт.

КонфигурацияПотребление GPUЧто с блоком 850 Вт
1× RTX 5060 Ti 16 ГБоколо 180 ВтБольшой запас
2× RTX 5060 Ti 16 ГБоколо 360 ВтУкладывается с запасом
RTX 5060 Ti + RTX 3080 10 ГБоколо 500 ВтБлиже к пределу, важен запас на пики

Две 5060 Ti берут около 360 Вт по GPU, и на CPU, память, накопители и охлаждение остаётся больше половины бюджета 850 Вт. Пара 5060 Ti плюс 3080 забирает около 500 Вт, плюс кратковременные пики, которые у карт прошлых флагманских серий бывают заметно выше паспортного TDP. Запас формально есть, но с одинаковыми картами он спокойнее.

Второй момент - кабели питания. RTX 3080 требует двух 8-пиновых разъёмов, и после её установки стоит проверить, что от блока остаётся свободный кабель под вторую карту. Считайте не только ватты, но и свободные линии. Добавьте характер нагрузки: длительный инференс держит GPU загруженным часами, а не минутами, как игра. Именно поэтому автор исходного вопроса собирался продать 3080 при блоке на 850 Вт (описание конфигурации).

Альтернативы: во что вложить деньги вместо второй карты

  • Платформа с 8 каналами памяти (Threadripper или Xeon) снимает главное ограничение SHM. Вариант дорогой и оправдан, если вы строите постоянно работающий сервер, а не апгрейдите домашний ПК.
  • Одна карта вместо двух: продать 3080 и 5060 Ti и взять GPU с большим объёмом VRAM. Для задач, которые делятся плохо, это предсказуемее. Критерии выбора собраны в материале о видеокарте для локальных LLM до $700.
  • Системная память: 128 ГБ DDR5 у вас уже есть, так что рост объёма даст немного. Каналы важнее гигабайтов.
  • Облако для редких тяжёлых задач: аренда GPU на несколько часов дешевле второй карты, если такие задачи случаются раз в месяц.
  • Накопитель и охлаждение: NVMe на 2-4 ТБ под модели и пайплайны плюс нормальный продув корпуса часто полезнее второй карты, которая простаивает.

Итог: кому нужна вторая RTX 5060 Ti, а кому нет

Вторая 5060 Ti оправдана, если совпадает хотя бы два пункта:

  • вы запускаете LLM класса 30B и выше в квантизации, которые не помещаются в 16 ГБ, и готовы настраивать распределение слоёв;
  • вам нужна пропускная способность на поток параллельных запросов, а не скорость одиночного ответа;
  • вы держите одновременно два пайплайна ComfyUI или хотите закрепить отдельную модель за второй картой;
  • 3080 вы уже решили продать, а блок на 850 Вт менять не хотите.

Вторая карта не нужна, если модель помещается в 16 ГБ, если нет желания разбираться с multi-GPU и если ожидается двукратное ускорение одной генерации: без P2P такого не будет. Связка 5060 Ti и 3080 остаётся компромиссом на случай, когда вторая карта нужна под отдельную задачу, а не под ускорение основной.

Точные цифры зависят от модели, квантизации, длины контекста и того, как конкретный рантайм делит слои между устройствами. Этот материал описывает принципы работы multi-GPU, а не результаты замеров.

Подписаться на канал